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