A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 金豆豆 中级黑马   /  2016-5-13 21:23  /  1016 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天写了个程序发现了个问题,请求解答:
#include<stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
int num3 =num1 + num2;
printf("num1=");
scanf("%d",&num1);
printf("num2=");
scanf("%d",&num2);
printf("num3=%d\n",num3);
return 0;

}
为什么我的编译  执行的答案是:
num1=10
num2=20
num3=0
Program ended with exit code: 0
num3怎么不是求和的30????????

3 个回复

正序浏览
代码执行顺序注意一下就行了
回复 使用道具 举报
#include <stdio.h>

int main()
{
    int num1 =0; int num2 =0;
    printf("num1 = ");
    scanf("%d",&num1);
    printf("num2 =");
    scanf("%d",&num2);
    int num3 = num1 +num2;
    printf("num3 = %d\n",num3);
    return 0;
}
这是我做的步骤,我也刚刚接触
我认为是你之前给变量num3 已经赋值0 +0 了,所以输出num3 是你之前赋值的数。
回复 使用道具 举报
执行顺序不对,你是先求和,再输入num1、num2的值。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马