其次,if语句的后面是分号,意味着if表达式的值是真是假都与下面的printf语句无关。
最后,printf的输出结果为:
由于j++的取值为1(运行后则为2),所以||后面的z++不再执行,z仍为2。而&&后面的i++则是肯定会执行的,所以运行后i为1
所以输出结果为:1, 2, 2
行数太多,从上方 跑到屏幕外面去了。你可以修改屏幕属性里的 Buffer Size。
也可以运行程序时,转存输出到文件里,再查看文件内容,假定程序名是 my_prog.exe ,把屏幕输出存入 abc.txt 文件 :
拍入命令: my_prog.exe >>abc.txt
char chint lc=0
int uc=0
int oc=0
while ((ch=getchar())!='#')
{
while(getchar()!='\n') //清除缓冲区 具体说明百度getchar()
if(ch>='a'&&ch<='z')
{ // while(islower(ch))
lc++
}
else if(ch>='A'&&ch<='Z')
{
uc++
}
else
{
oc++
}
}
printf("lc=%d uc=%d oc=%d\n",lc,uc,oc)
getchar()