题干为:从键盘输入一个字符串,再将其逆序输出。(如:输入abcde,输出edcba)
解答:
#include<stdio.h>
int main()//只能这样了。虽然知道了字符数组指针的存在,但在具体的字符逆序输出上,还是需要具体的元素个数。
{
char* c;
int num=0;
int i;
printf("请输入字符个数:");
scanf("%d",&num);
// c="abcdef";
scanf("%s",c);
for(int i=num-1;i>=0;i--)
{
printf("%c",c[i]);
}
printf("\n");
printf("%s",c);
getchar();
return 0;
}
搜索来的有关答案:答案
c语言中,char 代表 字符指针类型,当其指向一个字符串的第一个元素时,它就可以代表这个字符串了。
#include<stdio.h>
int main(){
char* str = "learn c";
printf("%s\n", str);
getchar();
return 0;
}
运行结果是
learn c
分析
*在char *str="learn c";中,"learn c"是长度为8的字符数组常量,其最后一个元素是'\0',而这句代码执行的结果是将str指向了"learn c"的第一个字符'l',str后面的连续内存依次存放'e','a','r','n',' ','c','\0。
扩展
*c语言中的字符串是用字符数组来表示的,只是c语言规定了一个字符串结束标志,即字符'\0',也就是遇到字符'\0'时,这个字符串就结束了。
网友评论