1.字符型变量是只能存一个字符。你程序里面输入一些列字符,最后也没有把所有字符存在定义的字符变量ch中,只是曾用它保存过,但通过比较每次刚覆盖存入的输入字符是不是'#',利用累加,自然可以实现统计功能。
2.该程序中的自增运算可以改为++count,在这个程序中也没区别。主要在你循环内部,也没有用count做其他运算,也没有break语句可能改变执行过程。
3.输入一个字符,判断他是不是'#',不是的话,自然需要再输入了。
如果只想使用一个scanf,可以如下改:
#include
void main()
{
int count;
char ch;
count=0;
while(1)
{
scanf("%c",&ch);
if(ch=='#') break;
count++;
}
printf("total=%d\n",count);
}
从你这个程序来看统计字符是不包括“#”的。
1.字符型数据是只能存放一个字符,程序中用的是循环,每输入一字符count就加1,直到输入#,循环结束,每次输入都是存到ch里,也是ch的值每输入一次改变一次。
2.这个程序中的自增运算能改为++count。区别:int a = count++ 当做一个变量来理解的话,a=0;
之后count = 1;
int a = ++count , a = 1; count = 1;
3.见1的解释。