作业帮 > 综合 > 作业

一道C语言题目#include#define N 80main(){char str[N],ch;int i;print

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/14 11:22:51
一道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;print
这段程序的意思就是把一个字符串的第一个字符放到最后位置.
因为要把后一个字符(str[i+1])赋给本轮的字符(str[i])所以需要检测后一个字符是不是结束符(str[i+1]!=0)
如果str[i]!=0,这样就会下标越界了.