这是初始化为0,如果后面num先作为左值使用,而不是右值,不初始化也可以。
主要是你的代码有几处要修改:
一是要将num = num1+num2放到scanf语句之后,得先输入num1和num2的值你才能相加啊
二是第一个printf你就是提示用户输入两个整数,你干嘛输出num1和num2呢?这时候这连个变量还没输入值,是个随机垃圾值啊
三是scanf语句中,num2前面也要加&符号
int main()
{
int num1,num2,num;
printf("请输入两个整数:");
scanf("%d%d",&num1,&num2);
num = num1+num2;
printf("num=%d",num);
return 0;
}
你把第五行换到七行下面就不会报错
总结;
你如果在scanf前进行+-/那么需要进行初始化。如果没有在scanf后面+-/,完全可以不用初始化,也就是不用等于0即可运行成功
你不给初始化的值,有的编译器可能会默认是0,但有的可能是随机值。
你定义变量只是让系统给你分了一块内存空间,如果你没有给这块内存重新复制,他就是这块内存原来的值。包括你删除变量,并不是真的删除,只是让这块内存可以重新被利用。你没有对变量num1,num2赋值,直接使用,它俩的值是不确定的。使用变量前要进行初始化。
哪里来的变量num
你说的是num1和num2吗
而且你这代码先取值后赋值,初始化不初始化结果也不可能对呀
把第七行换到第四行下面,可以满足四则运算之加法运算!