[C语言]

scanf函数迷惑

[复制链接]
686|3
手机看帖
扫描二维码
随时随地手机跟帖
yanghelovehuang|  楼主 | 2018-7-10 17:28 | 显示全部楼层 |阅读模式
本帖最后由 yanghelovehuang 于 2018-7-11 09:26 编辑

各位大神,有个问题一直不知道怎么办, 写一个scanf函数输入一个数字,只想让用户输入一个数字。因此想做个容错,如果客户输入了两个数字就提示客户输入错误该怎么做呢?
如:
scanf("%d", &n);
只想让用户输入一个数:
1
如果输入两个数:
1 2
就报错,该怎么做呢?
1 2中间是空格,不是12

相关帖子

eydj2008| | 2018-7-11 08:33 | 显示全部楼层
直接判断输入的值就好了  这么容易的事 还问?

使用特权

评论回复
yanghelovehuang|  楼主 | 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;
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

156

主题

324

帖子

1

粉丝