c - 如何从用户c获取输入整数

标签 c input do-while

我想从用户输入中获取矩阵值、行和列。所以我正在实现 do while 来做到这一点: 这仅适用于行:

do {
        printf ("Inserisci il numero di righe ( intero-positivo-diverso da 0): ");
        scanf ("%d",&righe);
    } while (righe<=0);

我想检查用户是否只插入整数。我能做什么?

最佳答案

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 和简单的整数。

关于c - 如何从用户c获取输入整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9537404/

相关文章:

c++ - Windows 最接近 fork() 的是什么?

c++ - 检查文件是否只包含空格 C++

r - 在 Shiny for R 中,为什么 Sys.Date() 在 dateInput 中返回昨天的日期?

c - 在 do..while 循环中递增 sscanf() 并将行存储到结构中

c++ - 如何附加不同的文件并提取它们以在我的代码中进行验证?

c++ - 如何自动向下滚动 richedit 文本框 win32 c/c++

c - 在 do...while() 语句中对单个 'do' 使用多个连续的 while()

c - 赋值给数组类型为 ch= ch+(s[i]) 的表达式;

C语言->读取文件到动态数组

支持箭头键的标准输入跨平台输入解决方案?