初学者的c普遍赋值问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 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];

(因此程序的结构为顺序结构,所以两数交换可以通过交替覆盖再输出。) 

猜你喜欢

转载自blog.csdn.net/milustarting/article/details/71056387