一道C语言题目#include#define N 80main(){char str[N],ch;int i;printf("\nInput a string:\n");gets(str);printf("\n\n");puts(str);}为什么是for(i=0;str[i+1]!=0;i++),而不是for(i=0;str[i]!=0;i++),那不就是从str[1]开始了么?还有为什
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/25 03:10:51
![一道C语言题目#include#define N 80main(){char str[N],ch;int i;printf(](/uploads/image/z/1581886-46-6.jpg?t=%E4%B8%80%E9%81%93C%E8%AF%AD%E8%A8%80%E9%A2%98%E7%9B%AE%23include%23define+N+80main%28%29%7Bchar+str%5BN%5D%2Cch%3Bint+i%3Bprintf%28%22%5CnInput+a+string%3A%5Cn%22%29%3Bgets%28str%29%3Bprintf%28%22%5Cn%5Cn%22%29%3Bputs%28str%29%3B%7D%E4%B8%BA%E4%BB%80%E4%B9%88%E6%98%AFfor%28i%3D0%3Bstr%5Bi%2B1%5D%21%3D0%3Bi%2B%2B%29%2C%E8%80%8C%E4%B8%8D%E6%98%AFfor%28i%3D0%3Bstr%5Bi%5D%21%3D0%3Bi%2B%2B%29%2C%E9%82%A3%E4%B8%8D%E5%B0%B1%E6%98%AF%E4%BB%8Estr%5B1%5D%E5%BC%80%E5%A7%8B%E4%BA%86%E4%B9%88%3F%E8%BF%98%E6%9C%89%E4%B8%BA%E4%BB%80)
一道C语言题目#include#define N 80main(){char str[N],ch;int i;printf("\nInput a string:\n");gets(str);printf("\n\n");puts(str);}为什么是for(i=0;str[i+1]!=0;i++),而不是for(i=0;str[i]!=0;i++),那不就是从str[1]开始了么?还有为什
一道C语言题目
#include
#define N 80
main()
{
char str[N],ch;
int i;
printf("\nInput a string:\n");
gets(str);
printf("\n\n");
puts(str);
}
为什么是for(i=0;str[i+1]!=0;i++),而不是for(i=0;str[i]!=0;i++),那不就是从str[1]开始了么?
还有为什么是str[i+1]而不是str[i]?
一道C语言题目#include#define N 80main(){char str[N],ch;int i;printf("\nInput a string:\n");gets(str);printf("\n\n");puts(str);}为什么是for(i=0;str[i+1]!=0;i++),而不是for(i=0;str[i]!=0;i++),那不就是从str[1]开始了么?还有为什
这段程序的意思就是把一个字符串的第一个字符放到最后位置.
因为要把后一个字符(str[i+1])赋给本轮的字符(str[i])所以需要检测后一个字符是不是结束符(str[i+1]!=0)
如果str[i]!=0,这样就会下标越界了.