else str[i]=str[i]-32; } printf("字符串为:%s\n",
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'结尾,也就是说一个长度为2的字符串要3个位置来存储,直接输出的话,不遇到\0是不会...
数组下标是从0开始的,下标len 指向字符串尾的 结束符0,最后一个字符下标应该是 len-1
C选项中s是取了t的地址,因为t=“Hello”,而要输出的也是“Hello”,所以直接输出t就可以了,但它输出的是s,而s与t是不同的。
你的字符串连接函数跟C语言的库函数重名了,这是不行的,要换个名字 ,否则运行的是库函数,虽然有结果但是没用到你的 还有 =!这里改成!=
include <stdio.h> //提供求串长函数strlen()include <string.h> //最后一个元素下标 int end;void turn(char *h,int p){ //到末尾时开始输出 if (p == end) printf("%c",h[p]);else { //没到末尾则先输出下一位 turn(h,p+1);//然后输出当前位 printf("%c",h[p]);} }...
int main() { int i,n,j;unsigned long long int r;char s[1000];scanf("%d",&n);for(j=0;j<n;j++){ scanf("%s",s);r=0;i=0;while(s[i]!='\0'){ if(s[i]>='0'&& s[i]<='9')r=r*10+(s[i]-'0'); i++;} printf("%llu\n",r*513)...