一道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/12/19 09:01:38
一道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,这样就会下标越界了.