首页 > 解决方案 > 为什么这段代码不打印提示或读取有效数据?

问题描述

#include<stdio.h>
int main()
{
    int a, b, c;
    printf("Enter the two numbers:");
    scanf("%d%d \n", &a, &b);
    c=a+b;
    printf("a+b= %d \n", c);
    c=a-b;
    printf("a-b= %d \n", c);
    c=a*b;
    printf("a*b= %d \n", c);
    c=a/b;
    printf("a/b= %d \n", c);
    c=a%b;
    printf("Remainder when a divided by b= %d \n", c);
    return 0;
}

运行此代码时,它不要求任何输入,而只是为所有打印函数提供一个垃圾值。

为什么?

标签: c

解决方案


你的scanf线应该是scanf("%d %d", &a, &b);。当您输入两个变量作为输入时,请始终给出间距,并且不要\n在 scanf 函数中插入 a - 它认为这是第三个输入的位置。

请详细阅读转义序列以了解为什么这是一个问题。


推荐阅读