读书人

基本程序有关问题

发布时间: 2012-02-05 12:07:15 作者: rapoo

基本程序问题
1. while(x=1){x--;cout < <x < <endl;}是死循环吗
2. 若以下变量都是整型,且num=Sum=7 则 "Sum=num++,Sum++,++num; "后Sum的值为多少?为什么?
3. <stdio.h> 中的getchar和putchar是什么意思?
4. int x=0,y=-1,z=-1;
x+=-z---y;
输出x为什么等于2?
5. y=5;p=&y;x=*p++;之后为什么x=5,y=5?
6. printf( "x=%d\n ",x) 是什么意思?%d又是什么?%f又是什么?

[解决办法]
while(x=1){x--;cout < <x < <endl;}是死循环吗
-------
是。每次你在循环内对x操作后,x又会被赋值为1,

若以下变量都是整型,且num=Sum=7 则 "Sum=num++,Sum++,++num; "后Sum的值为多少?为什么?
----------
8, Sunm=num++后Sum为7,Sum++后为8

3. <stdio.h> 中的getchar和putchar是什么意思
----
getchar:从输入缓冲中取得一个字符
putchar:输出一个字符到输出缓冲

4. int x=0,y=-1,z=-1;
x+=-z---y;输出x为什么等于2?
-------


5. y=5;p=&y;x=*p++;之后为什么x=5,y=5?
------
x=*p++; //*p即y赋值给x后,自加的是地址p,不是y的值。


6. printf( "x=%d\n ",x) 是什么意思?%d又是什么?%f又是什么?
------
格式输出,如果是整形就用%d,如果是浮点就用%f

[解决办法]
看http://community.csdn.net/Expert/topic/5672/5672855.xml?temp=.4934503与你的问题类似:
#include <stdio.h>
void main(){
int a = 9;
int b;
a = a-- + (--a) - (++a)+(--a)-(--a)+1-(--a)-4;
printf( "%d ",a);

VC6.0下结果为 -2;
VS2005下结果为 -4;

编译器相关性代码,不要认为++,--拖得越长别人越看不懂就越牛,恰恰相反,代码简洁、高效,易于理解、可以移植才是高手。

读书人网 >C++

热点推荐