else str[i]=str[i]-32; } printf("字符串为:%s\n",
char a[buffer];gets(a); /*将用户的输入存进字符数组*/ for(i=strlen(a)-1;i>=0;i--) /*从数组的最后位置开始输出字符*/ printf("%c",a[i]); /*以字符的格式依次显示每个字符*/ printf("\n");return 0;} 程序运行截图如下:
scanf_s函数改为scanf_s("%[^\n]", a, 80);
数组下标是从0开始的,下标len 指向字符串尾的 结束符0,最后一个字符下标应该是 len-1
为什么指针输出字符串..这里提问感觉效率不高啊,建议你可以直接去一些C语言的答疑君羊去问,里面应该挺多大神可以回答问题。推荐你一个我平常用的吧,很多问题都是在里面解决的
当然可以啦,放在子函数里也是可以输出的。
printf("%s",p);是指从指针p所指向的字节开始输出,直到读到'\0'字符而*p则是只p指向的字符,也就是字符串的第一个字符 如果printf("%s\n",*p);则系统会将p所指向的字符化为内存地址,并从那里开始读取……(例如字符串开头为'0'则从内存地址0x00000030开始读取等价于char *p=48;printf("%s...
C语言中没有字符串类型,所以要获得一个字符串,可以采用3种方法 注:均输入BOY,输出BOY,三个方法的运行结果都为 一 单个字符逐个输入 单个字符输入输出用%c #include <stdio.h>intmain(){charch[3];inti;for(i=0;i<3;i++){ scanf("%c",&ch[i]); ...
可能两个原因:1. 输入数组不够长,但你要求打印的字符位置超出字符串长度。2. 数组下标从0开始,你输入i是1的话,你的打印其实第二个字符。
你把输出语句里的&符号去掉就行了