繁体   English   中英

简单的IF语句scanf

Simple IF statement scanf

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

对于一项作业,我被要求创建一个小程序,该程序要求用户输入以确定他们希望操作的转换器。 我的问题是,在输入想要使用的转换器(1或2)之后,为什么程序不要求用户输入。 它只需要一次性运行整个语句,而不是调用scanf。

#include <stdio.h>

int main()
{
float cm;
float inches;
int operation;

printf("Hello and welcome to the Inches to Centimetres converter. \n");
printf("Choose from the options below by entering the corresponding number:\n");
printf("Inches to CM converter (1)\n");
printf("CM to Inches converter (2)\n");
scanf("&d", &operation);

if (operation == 1)
{
    printf("Please enter the amount of Inches you wish to convert : \n");
    scanf("%f", &inches);

    cm = inches * 2.54;


    if (inches <= 0)
        {
        printf("Invalid number");
        }
    else
        printf("%f inches is equal to %f centimetres.", inches, cm);
}
else if (operation == 2);
{
    printf("Please enter the amount of Centimetres you wish to convert : ");
    scanf("%f", &cm);

    inches = cm / 2.54;


    if (cm <= 0)
        {
        printf("Invalid number");
        }
    else
        printf("%f centimetres is equal to %f inches.", cm, inches);
}


}

产量

1 个回复

这里有两个问题。 第一:

scanf("&d", &operation);

有一个错字,“&d”应为“%d”,这就是为什么您会立即得到两次提示的原因。 你要:

scanf("%d", &operation);

其次是:

}
else if (operation == 2);
{

; 立即结束else块。 因此,大括号中的块将始终运行。 摆脱;

}
else if (operation == 2)
{

更好的是:

} else if (operation == 2) {

用这种方式格式化花括号实际上将消除这种类型的错误。

1 scanf语句的参数

我写了这段代码: 它不是印刷品。 我意识到在scanf的调用中有一个'\\ n'。 当我删除它时,我得到了预期的输出。 当scanf格式字符串包含'\\ n'时,为什么不给出输出? 是什么原因? ...

2011-04-27 08:46:58 1 470   c
2 C错误,简单的scanf函数,结果为0

我正在试验和训练一些C语言,发现了一个我无法理解的非常奇怪的“错误”。 我的代码是: 我希望它假定变量num3是num1和num2之间的乘积。 我得到以下输出: 数字8和7是我输入的随机数。 为什么是0 ? 应该是56 。 ...

3 嵌套的If语句忽略scanf函数

我已经编写了一个程序,用户在其中输入ax坐标和y坐标。如果用户输入了字母,我希望重复输入直到输入了有效的输入。 尝试3次后,程序将结束。 但是,每次我运行程序并输入测试字符时,程序都会跳过scanf函数,并且不测试嵌套的if循环,我尝试在scanf函数中添加一个空格,但这似乎根本不起作用。 ...

4 scanf在此简单程序中如何工作?

在while循环中使用scanf遇到一些麻烦。 我想制作一个程序,要求用户写出三个整数并将它们保存在三个位置的数组中。 如果用户写的东西不是整数,则程序应继续要求输入整数,直到输入整数为止。 但是它不能正常工作。 因此,我尝试使用以下代码简化问题: 如果输入是3个整数,则没有 ...

2014-01-28 18:48:08 2 159   c/ scanf
5 简单的scanf不会设置变量值

我用C语言编写了这个简单而简短的代码,无法使其正常工作: 如果输入P2 45 45 200 ,则得到P2 45 0 200 ,我不明白为什么var3没有收到其分配的值。 输入: P2 45 45 200 预期输出: P2 45 45 200 输出: P2 45 0 20 ...

2015-05-19 23:18:23 1 155   c/ scanf
6 用简单的等式替换scanf会使程序崩溃

我正在通过C for Dummies工作。 它有一个示例代码,用于使用gets和atoi将英寸转换为cm(第135页,如果你有文本)。 现在,我想尝试使用scanf而不是可怕的gets ,这是我能想到的最好的(基于作者提供的代码)。 程序启动,但输入后只是崩溃。 我哪里错了? ...

7 scanf语句后我的C代码没有响应

我编写了一组代码,可以扫描值并使用它们测试中心极限定理。 但是,当我使用scanf输入所有值后运行程序时,我的程序无法继续执行下一行代码:问题看起来像这样: 在这些printf和scanf之后,程序开始进行计算。 但是当我编译(成功)之后运行程序时。 看来我的代码在scanf(“% ...

2014-02-19 04:04:01 1 3374   c/ scanf
8 C ++,其他变量受scanf语句的影响

在scanf语句无法理解为什么之后,t的值变为0,t受此语句的影响,即使t = 100,程序仅运行1次迭代! PS第一个问题在这里! 写这个花了100分钟! 总是弹出一些问题! :@ } ...

2014-10-04 19:52:04 1 118   c++/ scanf
9 我将如何编写只接受某些字符的scanf()语句?

对于我正在编写的程序,我需要使用scanf()仅扫描0-9,AZ和az之间的字符。 我认为我可以使用一些不错的比较运算符来帮助我实现目标。 例如,也许这可以工作: 换句话说,如果a[i]的字符不是数字或字母,则打印该语句。 但是,那没有用。 有其他选择吗? ...

10 我的程序在 scanf 语句之后不起作用

在第二个 scanf 语句之后,我的代码不起作用。 我还是 C++ 的新手,所以我不确定我做错了什么。 我在这个网站和其他网站上都看过,到目前为止还没有找到任何东西。 我也试过 fflush 语句,但也没有解决它,任何其他建议都会非常感谢。 ...

2018-02-15 17:11:13 1 96   c++
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM