首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >扫描程序阻止程序运行

扫描程序阻止程序运行
EN

Stack Overflow用户
提问于 2016-10-10 08:05:16
回答 1查看 386关注 0票数 0

所以我用编码器编写了这个程序,

代码语言:javascript
运行
复制
#include <stdio.h>

int main()
{
    int num1, num2;

    scanf("%d%d", &num1, &num2);

    if (num1 > num2) 
        printf("The min is:%d\n ", num2);
    else
        printf("The min is:%d\n ", num1);
return 0;   
}

问题是程序不能运行。它一直显示这一点,然后过了一段时间就停止了:

移除扫描程序修复了这个问题,我尝试了其他程序使用扫描,这是很好的。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-10 08:14:52

您期望scanf()如何将1231232解释为两个整数?您输入的所有数字都有可能被第一个%d“吃掉”,然后scanf()等待第二个数字的出现。

您必须在它们之间使用一些分隔符,或者使用一些非数字字符:

代码语言:javascript
运行
复制
scanf("%d/%d", &num1, &num2);

这告诉scanf()预期两个数字之间会有一个斜线。当然,您也可以使用空格(在格式字符串中没有任何空格,正如注释中所指出的那样)。

此外,在依赖于数字之前,您应该检查返回值:

代码语言:javascript
运行
复制
if(scanf("%d %d", &num1, &num2) == 2)
{
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39953818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档