我想从用户输入中获取矩阵值,行和列。所以我正在实施do while
来做到这一点:
这仅适用于行:
do {
printf ("Inserisci il numero di righe ( intero-positivo-diverso da 0): ");
scanf ("%d",&righe);
} while (righe<=0);
我想检查用户是否只插入整数。我该怎么办?
答案 0 :(得分:2)
scanf
返回一个整数,表示它成功读取了多少“东西”。你可以在有条件的情况下测试它,看看它是否得到了你想要的东西。例如:
const int result = scanf ("%d",&righe);
if (1 != result) {
/* didn't get the 1 input we were looking for, do something about it! */
}
你想区分EOF而不是整数。
答案 1 :(得分:1)
检查scanf()
的返回值,它应该返回已转换字符串的数量,如果是!= 1,则输入无法转换为整数。
参考:scanf
答案 2 :(得分:0)
你正在寻找这个 ctype.h
答案 3 :(得分:0)
你的代码是正确的。做你想做的事的正确方法......