C语言中为什么变量和变量结果同时定义?

来源:百度知道 编辑:UC知道 时间:2024/05/15 06:18:33
为什么变量和变量结果同时定义?
如:int a,b,s;
s=a+b
还有

#include "stdio.h"
void main()
{
int a,b;
int x;
x=a*b;
printf("pluse input two no\n");
scanf("%d %d",&a,&b);
printf("x= %d\n",x);
getch();
}
为什么结果都是-7693?

为什么变量和变量结果同时定义?
如:int a,b,s;
s=a+b

这里你将s=a+b理解成定义了?其实如果换个方式理解,会更好
这里你可以把s=a+b理解成定义完以后让计算机进行的计算,不是会更好么?

而底下的程序
#include "stdio.h"
void main()
{
int a,b;
int x;
x=a*b; (到这里为止,你的a,b都没有具体定义,直接就要算x的值,计算机只好帮你随便取了a和b,所以你以后的运算不管怎么样都没用。建议你把这句放到 scanf("%d %d",&a,&b); 之后)
printf("pluse input two no\n");
scanf("%d %d",&a,&b);
printf("x= %d\n",x);
getch();
}

先输入scanf("%d %d",&a,&b);
然后才能运算x=a*b;
输出结果printf("x= %d\n",x);
逻辑错误

#include "stdio.h"
void main()
{
int a,b;
int x;

printf("pluse input two no\n");
scanf("%d %d",&a,&b);
x=a*b;
printf("x= %d\n",x);
getch();
}
这样可以了

在C语言的一个函数中,所有变量都是同时定义的(和C++不同).
你第二个程序:因为在 a,b定义前都是一个随机数如a=10,b=20,到第三句的时候x就成了200,所以不管