我写了一个简单的程序,它将两个数字相乘。当我用它乘以得到scanf输入时,它会打印出随机答案...
#include<stdio.h>
int main()
{
int a, b ,c = a * b;
printf("Type two no.s to be multiplied, ensuring space between them");
scanf("%d%d", &a, &b);
printf("The required output is = %d\n", c);
return 0;
}
当我输入8和7时,我得到4897作为我的答案,那么答案一定是56。
3条答案
按热度按时间ddrv8njm1#
C不是Excel。这一点:
这并不意味着
c
总是包含a * b
的值。这意味着您将c
设置为代码中a * b
* 当前 * 的值。在读取
a
和b
的值后,需要将其移动到 *。ny6fqffe2#
问题是你的操作顺序不正确。。你必须做乘法 * 后 * scanf:
xmakbtuz3#
变量
c
的初始化器没有意义,因为使用了未初始化的变量a
和b
使用未初始化的变量会调用未定义的行为。
您需要在变量
a
和b
获得其值之后计算变量c
的值。还要注意,根据C标准,不带参数的函数main应声明为
由于乘法通常会导致溢出,因此最好将变量
c
声明为long long int
类型。该程序可以看起来像