这个题应该是你理解有点误区。没看到原题,只通过你写的代码理解,认为该题的意思应该是让你:输入字符,输出ASCII码对应的十进制数,每三个字符换行。
错误1:while( (ch = getchar()) != '\n' ) 条件是按回车则退出
错误2:if( cr % 3 == 0 ){printf("\n");cr++;} 你将cr++写入在if( cr % 3 == 0 )中它永远不会执行,应为条件满足不了。
正确代码如下:
void main(){
char ch;
int cr=1;//能被3整除就换行
while( (ch = getchar()) != '\n' ){
printf("%c=%d ",ch,ch);
if( cr % 3 == 0 )
printf("\n");
cr++;
}
}
吧判断条件换成“\0”试试,我也不懂
while( (ch = getchar()) != '\n' )
可能是运算顺序的问题吧,总感觉这句不对,你分成两句试试
ch=getchar();
while(ch!='\0')