C语言中如何判断输入的内容是否为数字?

2023-12-04

在C的main函数中:

void main(int argc, char **argv)
{
   // do something here
}

在命令行中,我们将输入任何数字,例如1 or 2作为输入,但它将被视为 argv 参数的 char 数组,但是如何确保输入是数字,以防人们输入hello or c?


另一种方法是使用 isdigit 函数。下面是它的代码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#define MAXINPUT 100
int main()
{
    char input[MAXINPUT] = "";
    int length,i; 

    scanf ("%s", input);
    length = strlen (input);
    for (i=0;i<length; i++)
        if (!isdigit(input[i]))
        {
            printf ("Entered input is not a number\n");
            exit(1);
        }
    printf ("Given input is a number\n");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言中如何判断输入的内容是否为数字? 的相关文章

  • 打击垃圾邮件机器人

    我的网站中有 C 表单 希望防止垃圾邮件机器人填写它 诀窍是 我想避免 CAPTHA 或任何其他用户输入 以避免丢失单个注册 以下是我心中的一些技巧 隐藏输入栏 问题 这还有效吗 跟踪时间 从第一个用户输入 关注名字 到发布表单 人类需要
  • 如何动态加载包含非托管代码的原始程序集?(绕过“无法验证的代码失败策略检查”异常)

    我将举一个使用的例子系统 Data SQLite DLL http sqlite phxsoftware com 这是一个包含非托管代码的混合程序集 如果我执行这个 var assembly Assembly LoadFrom System
  • 如何在线程创建和退出时调用函数?

    include
  • Linux 使用 boost asio 拒绝套接字绑定权限

    我在绑定套接字时遇到问题 并且以用户身份运行程序时权限被拒绝 这行代码会产生错误 acceptor new boost asio ip tcp acceptor io boost asio ip tcp endpoint boost asi
  • 在调用堆栈中看到大量 clr!CLR Semaphore::Wait

    我们看到很多像下面这样的调用堆栈 我可以知道什么条件 情况会发生这种情况吗 OS Thread Id 0x48654 559 Current frame ntdll NtWaitForSingleObject 0xa Child SP Re
  • 将 Python 控制台集成到 GUI C++ 应用程序中

    I m going to add a python console widget into a C GUI below some other controls 许多类将暴露给 python 代码 包括一些对 GUI 的访问 也许我会考虑 P
  • 在不使用 ncurses 的情况下用 C/C++ 编写“真正的”交互式终端程序,例如 vim、htop...

    不 我不想使用ncurses 因为我想了解如何 终端可以工作 并且我自己编程也很有趣 没有 必须是可移植的 它必须只能在基于 linux xterm 的终端仿真器上工作 我想做的是编写一个交互式终端应用程序 例如 htop 和 vim 我的
  • StreamReader,C#,peek

    我有一个 StreamReader 它偶尔会检查它是否有更多内容可以从简单的文本文件中读取 它使用 peek 属性 问题是 当我使用 peek 时 位置发生了变化 尽管不应该发生 FileStream m fsReader new File
  • 读取STM32 MCU SPI数据寄存器的值

    有很多类似的问题 但似乎没有一个问题完全相同 我正在将 STML4 MCU 连接到 6 轴传感器 LSM6DS3 我已经成功地在 I2C 中实现了所有内容 但想要 SPI 的额外速度 和 DMA 如果我能让这些第一步工作起来的话 因此 第一
  • 是否有一种算法可以在线性时间内计算数组反转?

    我知道有多少倒转 en wikipedia org wiki Inversion 28discrete mathematics 29 in an n 元素数组可以在 O n log n 操作使用增强型归并排序 http www geeksf
  • ASP.NET MVC 路由 - 向路由添加 .html 扩展名

    我对 MVC 和路由非常陌生 我被要求修改一个应用程序以使用不同的 url 由于我没有经验 这项任务对我来说有点困难 好吧 让我们谈谈一些代码 routes MapRoute CategoryBySeName Route name prod
  • 使用 QGraphicsScene 实现流畅的动画

    我希望我的问题并不总是同样的问题 我有一个 QGraphicsScene 它的项目是一些 QGraphicsPixmap 我用一个计时器来移动它们 每秒 SetX 10 我设置 10是因为窗口大100 使用这个解决方案我的动画不流畅 我想我
  • 带有自定义鉴别器的 EntityFramework Code First 继承

    我正在尝试在 EntityFramework Code First 中映射以下继承 public class Member public string ProjectName get set public string AssemblyNa
  • 数组与映射的性能

    我必须循环一个大数组中的元素子集 其中每个元素都指向另一个元素 问题来自于检测大图中的连接组件 我的算法如下 1 考虑第一个元素 2 将下一个元素视为前一个元素所指向的元素 3 循环直到没有发现新元素 4 考虑1 3中尚未考虑的下一个元素
  • EWS - 给予预约,获取预约的所有者副本

    在 EWS 中进行预约后 是否可以获得所有者的副本 例如 如果我登录为user1 我有user1创建的约会的副本user2 我有冒充权 我要编辑user2预约的副本 我怎样才能获得user2 s copy 您可以使用 PidLidClean
  • char* argv[] 在 c/c++ 中如何工作? [复制]

    这个问题在这里已经有答案了 我知道它用于使用命令行中的参数 但我没有得到声明 字符 argv 它是否意味着指向 char 数组的指针 如果是的话为什么没有大小 如果不是动态数组 就不需要有大小吗 我做了一些研究 发现有人说它会衰减为 cha
  • 为什么我不能对普通变量进行多态?

    我是一名Java程序员 最近开始学习C 我对某事感到困惑 据我了解 在 C 中 要实现多态行为 您必须使用指针或引用 例如 考虑一个类Shape与实施的方法getArea 它有几个子类 每个子类都以不同的方式重写 getArea 然后考虑以
  • 在 C# WinForms 中预览文档(Word、Excel、PDF、文本文件等)?

    我正在开发一个 C WinForms 应用程序 我希望能够 预览 其中的各种文档类型 也就是说 当用户从列表中选择文件名时 它会在下面以相同的形式显示所选文件的预览 这很像 Outlook 允许您无需双击即可预览选定邮件的方式 有没有什么方
  • 扔掉挥发物安全吗?

    大多数时候 我都是这样做的 class a public a i 100 OK delete int j Compiler happy But is it safe The following code will lead compilat
  • 从 STL 列表中删除项目

    我想创建一个函数 如果符合特定条件 则将项目从一个 STL 列表移动到另一个列表 这段代码不是这样做的方法 迭代器很可能会被擦除 函数失效并导致问题 for std list

随机推荐

  • jboss Resteasy 使用 @Context 进行参数注入

    我正在使用 jboss 7 1 和 Resteasy 进行基于令牌的身份验证 我使用 PreProcessInterceptor 来拦截请求 获取令牌 从令牌检索用户 然后根据方法上的自定义注释检查用户角色 我现在想做的是将 User 注入
  • 使用 html5 canvas 将图像裁剪为非矩形形状并进行转换

    我是 html5 canvas 的新手 但我正在创建一个基于 html5 canvas 的图像裁剪器 其中包括下一个功能 它应该将图像裁剪为多边形 但不一定是矩形 裁剪图像后 应将图像转换为矩形 我尝试搜索任何满足这些功能的图像裁剪器 但没
  • jquery 中可调整大小、可拖动的对象。可能的?

    我想要一个既可以调整大小又可以拖动的对象 我需要 X Y Size 的对象 这可能吗 有一个例子http www jsfiddle net davidThomas DGbT3 1 它获取可拖动对象的 x 和 y 我怎样才能让它调整大小 Th
  • 如何保留历史 RDD 以供在给定代码中进一步使用

    var history RDD String List String sc emptyRDD val dstream1 val dstream2 val historyDStream dstream1 transform rdd gt rd
  • Android:具有不同 alpha 值的嵌套线性布局

    我有一个矩形 LinearLayout 它有一些边距 一些圆角和 0 3 的 alpha 值 在这个布局中 我有 4 种不同的布局 因为我在不同的位置显示不同的图像 我的问题是 虽然主布局是 0 3 但我希望我的孩子完全可见 或者不受其父
  • Python - 通过 Firefox 的 Tor 浏览器,无法单击按钮

    我一直在尝试通过 Tor 浏览器作为 Firefox 的代理来访问某个站点 dumpert nl 我使用 Tor 浏览器的原因是这样我每次进入网站时都可以使用不同的 IP 地址进入该网站 我知道这是可能的 但我还没有找到方法来做到这一点 我
  • 通过 RequestCultureProviders 处理路由 (URL) 中的文化

    我想创建一个适当的 requestCultureProviders 来使用以下路由模板处理 AspNetCore WebApp 中的路由文化 http url domain culture controller action 例子 http
  • 带对话框的自定义标记

    我如何实现如上所示的对话框 到目前为止 这就是我现在能做的 map addLayer id markers type symbol source markers interactive true layout text field pric
  • 刷新 chrome 页面时用户变为 null flutter web firebase

    我可以在网络中使用 Firebase Auth 正确登录和注册 当我热重新加载页面时 用户信息将保持不变并且他们保持登录状态 但是 如果我使用 Chrome 刷新页面 用户将变为空 我需要再次登录 认证服务 static Future
  • 在ios中运行一个简单的python脚本

    我想在 ios 上运行 python 脚本 我不想用 Python 编写整个应用程序 而只编写其中的一小部分 我试图理解 PyObjC 但它并不那么容易 请给我举个例子好吗 我想将以下方法的结果保存在NSString多变的 def doSo
  • Android 12 新蓝牙权限

    蓝牙是我们应用程序的主要依赖项 因此 我们已经尝试实现新的 Android 12 蓝牙权限 我们唯一的资源是Android 开发人员 Android 12 中的新蓝牙权限 就是说添加权限 android permission BLUETOO
  • 为什么我会收到 Android : 目标服务器未能响应?

    API链接 http www familybuds com storegrunt new api home validate step one platform 1 发布参数 store name abc 代码位于 GoDaddy 服务器上
  • 在 Rails 中使用 collection_check_boxes 填充表单时传递额外的属性到连接表?

    填充表单时是否可以添加额外的属性来连接表collection check boxes在 Rails 中还是我必须以不同的方式填充表单 目前我有 Product Package 和 PackageItem 模型 包包含许多产品 但也可以在包中
  • 带渐变的 SVG 路径

    目前 我有一个脚本 通过 GIMP 中的 py 插件 可以生成一个带有渐变的 SVG 路径 通过具有不同宽度和颜色的同一路径的多个路径来模拟 但是 我想知道是否有一种语法可以生成类似的内容 而无需定义多个路径 就像定义一个渐变和单一路径一样
  • 如何设置 TFS 2013 构建定义以从 Git 标签构建?

    我想在 TFS 2013 中创建一个特殊的构建定义以从标签构建 该项目中使用的源代码管理是 Git 所以 假设我有一个名为v1 0 我希望此构建定义提取与该标签对应的源并运行构建 触发器现在并不重要 甚至可以是手动的 这怎么可能 我可以看到
  • matplotlib 带有更改标签的 3D 绘图

    所以我有一个 3D 实时更新图 它一次只显示一个点 因此我可以轻松跟踪该点的运动 但问题是 无论我做什么 该点总是放置在图表的中心 并且轴上的刻度线会发生变化以实现这一点 这让我的生活变得非常困难 因为我看不到这一点 这是我的代码 from
  • 如何将节点从 div 拖放到 JStree 上? (jstree版本:3.0.4)

    使用以下代码 我可以将 JSTree 节点拖放到 div 上 然后该节点将从 jstree 中删除 我将所有删除的 jstree 节点存储在 mapOfRemovedNodes 对象中 其中节点 id 是 KEY 节点对象本身是 VALUE
  • 将代码从 VBA 运行到 VBScript 再返回到 VBA

    我正在尝试找出一种方法来调用VBScript函数使用vba in Excel 然后将一个值传递回Excel VBA 见下文 VBA在 Excel 中 Sub RunTest Dim objString as String Begin Pse
  • Java-从图像中获取像素数组

    我正在寻找获取像素数据的最快方法 形式为int 从一个BufferedImage 我的目标是能够解决像素问题 x y 从图像中使用int x y 我发现的所有方法都不会执行此操作 大多数方法都会返回int s 我只是在研究同一主题 这是访问
  • C语言中如何判断输入的内容是否为数字?

    在C的main函数中 void main int argc char argv do something here 在命令行中 我们将输入任何数字 例如1 or 2作为输入 但它将被视为 argv 参数的 char 数组 但是如何确保输入是