do~while语句求助
为什么我输出的结果总是要比字符串长度大1?{:10_269:}#include <stdio.h>
int main(int argc, char *argv[])
{
int count = 0;
do{
count++;
}while(getchar() !='\n');
printf("输出:%d",count);
return 0;
} 可能是你的回车也被算进去了 应该是你do while 语句多加了一次,换成while就好了
int main(int argc, char *argv[])
{
int count = 0;
while(getchar() !='\n')
count++;
printf("输出:%d",count);
return 0;
return 0;
}
#include <stdio.h>
int main(int argc, char *argv[])
{
int count = 0;
do{
count++;
}while(getchar() !='\n');
//printf("输出:%d",count);
printf("输出:%d\n",--count);
return 0;
}
人造人 发表于 2021-8-23 09:45
麻烦问一下,为什么要在打印时count前要加“--”呢? 它的含义是什么? kl-su 发表于 2021-8-28 16:21
麻烦问一下,为什么要在打印时count前要加“--”呢? 它的含义是什么?
因为多加了一次 人造人 发表于 2021-8-28 16:34
因为多加了一次
所以就是原来的程序多加了一次,在打印的时候再减掉这一次咯。那能不能在do while语句里修改,在不改变do while结构的情况下让程序正常运行? kl-su 发表于 2021-8-28 18:57
所以就是原来的程序多加了一次,在打印的时候再减掉这一次咯。那能不能在do while语句里修改,在不改变do ...
不能 人造人 发表于 2021-8-28 19:05
不能
好吧 谢谢
页:
[1]