在循环和使用char值之后,我有一个教科书练习(这意味着我不能使用数组和字符串)。
根据练习,我(用户)将不得不让用户输入一组字符
例如"IamaDinosaur",然后找到具有最高ASCII值的字母。
如何循环scanf()
以让用户输入char
值,直到用户点击enter?然后如何比较这些值呢?
你可以用getc
?
int ch;
int max = EOF;
while ((ch = getc(stdin)) != EOF && ch != 'n')
if (max < ch)
max = ch;
显然你可以走scanf("%c")
路线。
如果你不能使用getch()
,那么就像人们建议的那样,你当然可以使用scanf()
并继续扫描,直到它失败,或者读取换行符:
char max = 0, here;
while(scanf("%c", &here) == 1 && here != 'n')
if(here > max)
max = here;
printf("max='%c'n", max);