我正在使用这段代码来读取用户输入并检查它是否是数字,但是它真的只适用于数字和字母。我希望它能与每个字符一起工作。例如 ”!?%”。我已经试图通过“isascii”来改变“isalnum”,但这不起作用。用于检查用户输入的do-while循环使用c
#include <stdio.h>
#include <ctype.h>
int main()
{
int a;
int b = 1;
char c ;
do
{
printf("Please type in a number: ");
if (scanf("%d", &a) == 0)
{
printf("Your input is not correct\n");
do
{
c = getchar();
}
while (isalnum(c));
ungetc(c, stdin);
}
else
{
printf("Thank you! ");
b--;
}
}
while(b != 0);
getchar();
getchar();
return 0;
}
莫非你请修理你的缩进? – 2010-11-13 11:59:08
我不明白你的问题。你想测试什么字符*拒绝*? – 2010-11-13 12:00:54
我想拒绝除数字以外的所有字符。 – Ordo 2010-11-13 12:06:41