#include”stdio.h”
#include”string.h”
void main()
{
char str[100],c;
int num=0,i=0;
gets(str);
do
{
while((c=str[i])==’ ‘)i++;
if(c!=’\0′)num++;
while((c=str[i])!=’ ‘&&c!=’\0′)i++;
}while(c!=’\0′);
printf(“num=%d”,num);
}
各位帮忙看一下,这道题我想把两处(c=str[i])用c来替换,在get(str);后加一句c=str[i];
但改过之后发现输入后按回车程序不会结束,也不出结果,把后一处去掉也不行,请个位
帮忙解答一下我哪里做错了,谢谢
>> 本文固定链接: http://www.vcgood.com/archives/3170
我今天又仔细看了一遍这个程序,发现好像是如果想我原来说的改c的值就不会改变了,只有不输入字符直接按回车才能结束程序,我看了一下关注我的问题的人还不少,谢谢大家了
在get(str);后加一句c=str[i];
====
此时i=0,c中为str[0]即str的第一个字符,不是\0, 而你的循环结束条件是c==’\0′. 程序自然结束不了
我也是菜鸟。