小甲鱼字符串处理函数动动手第0题i++的作用是啥?
#include <stdio.h>#define MAX 1024
int main() {
char str1;
char str2;
int i = 0;
unsigned int n;
printf("请输入第一个字符串:");
while ((str1 = getchar()) != '\n')
;
printf("请输入第二个字符串:");
i = 0;
while ((str2 = getchar()) != '\n')
;
printf("请输入比较的字符数:");
scanf("%u", &n);
for (i = 0; i < n; i++) {
if (str1 - str2<0) {
printf("i++前%d\n",i);
// i++;i++作用是啥
printf("i++后%d\n",i);
break;
}
}
printf("比较的结果是:%d\n", str1 - str2);
return 0;
}
我注释掉i++貌似结果并没有什么改变
本帖最后由 jackz007 于 2022-10-24 16:31 编辑
int i = 0;
. . . . . .
printf("请输入第一个字符串:");
while ((str1 = getchar()) != '\n')
. . . . . .
printf("请输入第二个字符串:");
i = 0;
while ((str2 = getchar()) != '\n')
i 是数组索引,i ++ 就是 i = i + 1,在存入一个字符以后,索引值增加 1,指向数组的下一个元素存储位置,以便下一个字符可以存入其中,同时,输入结束的时候,i 值就是一共输入的字符个数。 在这里的i++确实没什么用,估计是为了保持for(i = 0 ; i < n ; i++)语句的风格吧,这种语句跑完的时候,i一般都是多加了1次的,
按这个思维定势,后面用的时候就 -1 用, printf("比较的结果是:%d\n", str1 - str2);
哪天把for里的东西改了,后面也不会出问题
页:
[1]