我试图读取4个用户输入,可以是一位数字,两位数字或一个字母。我尝试过使用%c,但不能包含任何两位数字。我也尝试了%d,但是所有的字母都是0。是否有任何东西可以涵盖所有的基础?
答案 0 :(得分:2)
在C中,%c通常用于字符输入,%d用于整数。通常在扫描时使用这些。尝试%s扫描一个字符串。
答案 1 :(得分:0)
读取一行并将其存储为字符串。然后你可以分析你得到的东西。
简单示例:
size_t n = 2;
char *str;
str = malloc (n + 1);
getline (&str, &n, stdin);
if (str[0]>='0'&& str[0]<='9')
if (str[1]>='0' && str[1]<='9')
printf("Two digits\n");
else
printf("One digit\n");
请注意,这非常天真,并且几乎不包含错误检测,但它提供了如何执行此操作的想法。