int main()
{
int a,b;
a = 5;
b = a + 3;
a = a – 3;
return 0;
}
我数学不好,所以想问一下。为什么a = a – 3。就象1 = 1 – 3吗?我不明白为什么在C语言里面是这样子。谢谢大家的赐教。
>> 本文固定链接: http://www.vcgood.com/archives/2212
>> 转载请注明: findcareer 2008年03月22日 于 C语言帝国 发表
int main()
{
int a,b;
a = 5;
b = a + 3;
a = a – 3;
return 0;
}
我数学不好,所以想问一下。为什么a = a – 3。就象1 = 1 – 3吗?我不明白为什么在C语言里面是这样子。谢谢大家的赐教。
>> 本文固定链接: http://www.vcgood.com/archives/2212
>> 转载请注明: findcareer 2008年03月22日 于 C语言帝国 发表
你必须先 登录才能发表评论。
在c中,数据是以二进制的形式存储在内存中的!楼主上面定义了整形变量a 在执行程序时,a就分配到占两个字符的内存空间. 在程序的第四行,把5赋值给了a;看这时内存中存储的是5;
好,看下面
a=a-3;相当于 a=5-3=2; 这时把2赋值给了a;
先搞清楚什么是变量,关系运算符和赋值运算符再说吧!!!!!
a = a - 3
把 a – 3 的值赋予 a
可以理解为, 在原来 a 的位置上 放入 a – 3,
由于a 原值为5, 所以此时 a – 3 相当于 5 – 3, 最后把 2 放到了 a 的位置, 最后 a 为 2