关于c语言的几个小问题

1.i++和++i有什么区别。2.c语言中int,shortint,float,double各占的存储空间3.#include<stdio.h>intfunc(inta,... 1.i++和++i有什么区别。
2.c语言中int ,short int,float, double各占的存储空间
3.#include <stdio.h>
int func(int a,int b)
{int c;
c=a+b;
return c;
}
main()
{int x=6,y=7,z=8,r;
r=func((x--,y++,x+y),z--);}

输出21,是如何执行的。
展开
 我来答
254181417
2012-03-19 · TA获得超过288个赞
知道答主
回答量:65
采纳率:0%
帮助的人:26.9万
展开全部

我来回答您:

1.i++和++i有什么区别。

例如i=3

第一:i++=3 i=4

第二:i--=3 i=2

第三:++i=4 i=4

第四:--i=2 i=2 

2.c语言中int ,short int,float, double各占的存储空间( 请查看图片)

3.#include <stdio.h>

 int func(int a,int b)

{int c;

c=a+b;

return c;

}

main()

{int x=6,y=7,z=8,r;

r=func((x--,y++,x+y),z--);}

详细解释如下:

x--=6  x=5

y++=7 y=8

x+y=5+8=13

z--=8 z=7

故r=func((x--,y++,x+y),z--)同价于r=func((6,7,13),z--);

又因为逗号运算 (6,7,13)=13;

故r=func(13,8)

func函数的意思就是两个数相加,故func(13.8)意思就是13+8=21,即r=21。

希望能解答清楚。谢谢!

我爱你lbj0
2012-03-19
知道答主
回答量:17
采纳率:0%
帮助的人:15.8万
展开全部
1、i++是先用i的值,在计算++;++i,是先++在用i的值
2、int:2b short int:2b float:4b double:8b
3、从main函数开始:
a,func((x--,y++,x+y),(z--))【x=6,y=7,z=8】=====》func((13),z--)【x=5,y=6,z=8】 =====》func(13,8)【z=7】 =====》r=21
x--,y++,z-- 都是先使用x,y,z;然后在执行-- 或 ++的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
寒武纪三叶虫
2012-03-19 · TA获得超过256个赞
知道小有建树答主
回答量:239
采纳率:80%
帮助的人:58.8万
展开全部
1:i++表示要先使用i,用完后再加1;++i表示要先自加1,然后再使用i;
例如:
i=0;a[5];
执行 a[i++]=4; 之后,a[0]=4;i=1
执行 a[++i]=4; 之后,a[1]=4;i=1

2:不同的编译环境,他们的长度是不一样的,例如Turbo C 2.0,int的长度是2字节,VC中就是4字节,需要在帮助环境中自己查找

3:跟据上面的答案,自己分析吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lcykenan110
2012-03-19
知道答主
回答量:58
采纳率:0%
帮助的人:33万
展开全部
你要知道C语言是一条一条语句执行的,关于I++和++I的区别为一个是先运算再加面后一个是先加再运算。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式