s1e22课后作业
#include <stdio.h>#define MAX 1024
int main()
{
char str;
char *target = str;
char ch;
int length = 0;
printf("请输入一个字符串:");
fgets(str, MAX, stdin);
while (1)
{
ch = *target++;
if (ch == '\0')
{
break;
}
if ((int)ch < 0)
{
target += 2;
}
length++;
}
printf("您总共输入了 %d 个字符!\n", length - 1);
return 0;
}循环里面的条件为什么是1,1不是无限循环吗?
还有 ch = *target++; 是什么意思为什么要++ 是无限循环的,但是 if (ch == '\0')设置了跳出条件,'\0'是字符串结束的标志,也就是说一直读取到字符串的结尾跳出这个无限循环。 落叶飞空 发表于 2017-6-8 16:38
是无限循环的,但是 if (ch == '\0')设置了跳出条件,'\0'是字符串结束的标志,也就是说一直读取到字符串的 ...
还有 ch = *target++; 是什么意思为什么要++ 每次语句执行后指向下一个字符。
页:
[1]