C语言初学。。关于C++两数之和

2024年11月30日 13:31
有7个网友回答
网友(1):

擦,你在尚未初始化a b的时候就把它们相见赋值给C,然后才输入 a ,b 的值,输出的肯定不是正确结果啦!

#include
main()
{
int a,b,c;
c=a+b; //你再这里的时候,a,b均尚未赋值,则a, b 均为一个系统默认值,加了之后赋值给c
printf("请输入a,b:");scanf("%d,%d",&a,&b); //这里是给a, b 赋值输入的值,但不影响c 的值
printf("c=%d",c); //输出 c
}
修改为:
#include
main()
{
int a,b,c;
printf("请输入a,b:");scanf("%d,%d",&a,&b); //先让用户输入a , b 的值
c=a+b; //a, b的到用户输入的值之后才将 a+b的值赋给 c
printf("c=%d",c); //输出 c
}
这样就没问题了

网友(2):

正确的顺序是:
#include
main()
{
int a,b,c;
printf("请输入a,b:");scanf("%d,%d",&a,&b);

c=a+b;

printf("c=%d",c);
}

你的答案不是2是因为你使用int定义的时候a,b内储存的值是系统原来就有的,这个数你是无法确定的。

网友(3):

#include
int main()
{
int a,b,c;
printf("请输入a,b:");

scanf("%d,%d",&a,&b);//这句位置是关键

c=a+b;
printf("c=%d",c);

return 0;
}

网友(4):

由于C=a+b执行在前,而此时没有将其初始化,因此a b取默认值为0,所得的C已经计算出来为0,你scanf是在c得出结果后进行操作的,所以结果肯定不是2.
你可以将c=a+b 放在printf("请输入a,b:");scanf("%d,%d",&a,&b); 之后即可

网友(5):

这个当然得不到2了,Int a,b,c; 此时的a b c的值都是不确定的,是由系统产生无法预料的,第一步做的事情应该给其赋值,所以顺序应该倒一下,先输入在计算:
#include
main()
{
int a,b,c;
printf("请输入a,b:");
scanf("%d,%d",&a,&b);

c=a+b;

printf("c=%d",c);}

网友(6):

#include
void main()
{
int a,b,c;

printf("请输入a,b:");scanf("%d,%d",&a,&b);
c=a+b;

printf("c=%d",c);}

网友(7):

我勒个去。。顺序倒了。把c=a+b;放到printf("请输入a,b:");scanf("%d,%d",&a,&b);之后。
完整:
#include
main()
{
int a,b,c;

printf("请输入a,b:");scanf("%d,%d",&a,&b);

c=a+b;///这时候的C才能是A+b

printf("c=%d",c);}