版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/milustarting/article/details/71056387
首先,我们用过简单的一个c程序来解释赋值问题。
例,输入两个数完成交换。程序如下:
int main()
{
printf("input two number: \n");
scanf(""%d %d"",&a,&b);
a = a+b;
b = a-b;
a = a-b;
printf("%d %d",a,b);
}
程序第5行将a+b赋给a,而后执行的第6行中a的值已经被第四行a+b覆盖,所以第五行l理解应是b=(a+b)- b;第7行应是a = (a+b) - [(a+b) - b];
(因此程序的结构为顺序结构,所以两数交换可以通过交替覆盖再输出。)