关于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,是如何执行的。 展开
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,是如何执行的。 展开
展开全部
我来回答您:
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。
希望能解答清楚。谢谢!
展开全部
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;然后在执行-- 或 ++的
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;然后在执行-- 或 ++的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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:跟据上面的答案,自己分析吧
例如:
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:跟据上面的答案,自己分析吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要知道C语言是一条一条语句执行的,关于I++和++I的区别为一个是先运算再加面后一个是先加再运算。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询