吉林宾馆哪个好:一道c语言题目

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 06:41:38
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main()
{
int pad,sum;
sum=pad=5;
pad=sum ++;
pad ++;
++ pad;
printf("%d\n",pad);

}这道题的答案为什么是7?

int pad,sum;
sum=pad=5; //sum= 5 pad=5
pad=sum ++; //pad=5 !!这里取到的是sum的原值.
//如果为pad=++sum则为+1后的值了.
pad ++; //pad=6
++ pad; //pad=7
printf("%d\n",pad);
建议LZ看看C的语法,特别是a++ 和 ++a的区别.

int pad,sum;
sum=pad=5; 此时都是5
pad=sum ++; 此时pad是6,Sum是5。
pad ++;pad此时为7
++ pad; 程序下次执行时pad+1,此次不加。
printf("%d\n",pad);所以pad7
++变量。。表示变量运算以后加一
变量++。。表示加一以后运算

sum=pad=5;
pad=sum ++;//先用sum值进行赋值,然后sum自增1,所以pad等于5,这个是关键,所以下面两行代码执行完pad=7
pad ++;
++ pad;

一直以来,++ --语法浪费了太多人的时间。说句实在话,++ -- 在C语言中其实是一个很细节的语法,除了表达简练外,真的没有什么其它的好处了。
由于中国的C语言教程长期以来被谭浩强主宰,而谭又错误的把++ --作为一个C语言重点来教,并增加了一些难点,把本来很简单的语法,搞得复杂无比!

简单的来说,++i 和 i++,在单独使用时,就是 i=i+1。
而 a = ++i,相当于 i=i+1; a = i;
而 a = i++,相当于 a = i; i=i+1;

如果实在搞不明白++ --怎么回事,那也不是什么天塌下来的事。
因为a=++i完全可以写成 i++; a=i。
a=i++完全可以写成 a=i; i++。
而且,这也是一种好的风格。

7

pad=sum ++;
的意思是
pad=sum;
sun++;
势必是7