#include<stdio.h> main() { char ch; int nl,nu,ni,nk; nl=nu=ni=nk=0; ch=getchar(); while(ch!='\n'); { if(ch==' ') nk++; else if(ch>='0'&&ch<='9') ni++; else if(ch>='A'&&ch<='Z') nu++; else if(ch>='a'&&ch<='z') nl++; }
printf("nl=%d,nu=%d,ni=%d,nk=%d\n",nl,nu,ni,nk); getchar(); return 0; } 以上是我写的,程序的目的是打一句话计算其中空格、大写字母、小写字母、数字的个数,但是总也出不来结果,如果改成下面的就能出来结果,期待有人告诉我原因。 #include<stdio.h> main() { char ch; int nl,nu,ni,nk; nl=nu=ni=nk=0; do { ch=getchar(); if(ch==' ') nk++; else if(ch>='0'&&ch<='9') ni++; else if(ch>='A'&&ch<='Z') nu++; else if(ch>='a'&&ch<='z') nl++; } while(ch!='\n'); printf("nl=%d,nu=%d,ni=%d,nk=%d\n",nl,nu,ni,nk); getchar(); return 0; }