回复 25楼 hjx1120
不好意思,我28楼说的那个 ,是我搞错了。但是用它写,无法用getchar()清scanf缓冲区。不知道为什么。
多艰难 都要走下去
#include<stdio.h> #include<ctype.h> int main(void) { char ch; int number, largest; printf("输入10个整数,第 1 个:"); ch=getchar(); if(isdigit(ch)) largest=ch-48; else{ do{ printf("输入错误,重新输入:"); getchar(); ch=getchar(); if(isdigit(ch)){ largest=ch-48; printf("##%d##",largest); break; } }while(1); } for(int i = 2; i <= 10; i++){ printf("输入10个整数,第 %d 个:", i); getchar(); ch=getchar(); if(isdigit(ch)){ number=ch-48; if (largest<number) largest = number; printf("##%d##",largest); } else{ printf("输入错误,重新输入:\n"); i--; } } printf("最大整数是:%d\n", largest); return 0; }