[C语言] scanf函数迷惑

[复制链接]
117|3
 楼主 | 2018-7-10 17:28 | 显示全部楼层 |阅读模式
本帖最后由 yanghelovehuang 于 2018-7-11 09:26 编辑

各位大神,有个问题一直不知道怎么办, 写一个scanf函数输入一个数字,只想让用户输入一个数字。因此想做个容错,如果客户输入了两个数字就提示客户输入错误该怎么做呢?
如:
scanf("%d", &n);
只想让用户输入一个数:
1
如果输入两个数:
1 2
就报错,该怎么做呢?
1 2中间是空格,不是12
| 2018-7-11 08:33 | 显示全部楼层
直接判断输入的值就好了  这么容易的事 还问?
 楼主 | 2018-7-11 09:25 | 显示全部楼层
eydj2008 发表于 2018-7-11 08:33
直接判断输入的值就好了  这么容易的事 还问?

大哥 输入一个1 n被赋值为1,输入1 2 n也被赋值为1,都一样您告诉我怎么判断?大哥看清楚是1空格2 不是12
| 2018-7-11 17:29 | 显示全部楼层
int  cnt = 0;
char Array[100]  = { 0 };
unsigned int Len = 0;


int main( void )
{
        while(1)
        {
                printf("Please input a number !\n");

                gets( Array );

                Len = strlen( Array );

                while(Array[cnt++] != ' ');

                if(Len > cnt)
                {
                        printf("The number input is wrong !\n");
                }
                else
                {
                        printf("The number input is correct !\n");
                }
                cnt = 0;
        }

        return 0;
}
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

关闭

热门推荐上一条 /6 下一条

分享 快速回复 返回顶部 返回列表