int c[]={10,0,-10};
int *k=c+2;
printf("%d",*k--);请解释一下,谢啦!
int c[]={10,0,-10}; int *k=c+2; printf("%d",*k--)
答案:2 悬赏:40 手机版
解决时间 2021-03-01 17:02
- 提问者网友:战皆罪
- 2021-02-28 18:18
最佳答案
- 五星知识达人网友:不想翻身的咸鱼
- 2021-02-28 19:25
int c[]={10,0,-10};//定义一维数组c有3个元素,并初始化
int *k=c+2;//定义指针变量k,并指向值为c[2]元素
printf("%d",*k--);//*k输出所指元素的值-10,并使k--指针自减后指向c[1]。
int *k=c+2;//定义指针变量k,并指向值为c[2]元素
printf("%d",*k--);//*k输出所指元素的值-10,并使k--指针自减后指向c[1]。
全部回答
- 1楼网友:患得患失的劫
- 2021-02-28 19:53
1: int c[ ]={10,0,-10};
这是定义了一个一维数组c长度为3(在这里注意长度strlen与大小sizof是不一样的,前一个是说数组中的元素个数,后一个是说元素在内存中占的字节大小)数组元素为10,0,-10。
2:int *k=c+2; printf(“%d”,*k--);
定义了一个整型指针k并将c+2(这是数组指针的移位,移到后两位-10,注意数组名代表数组的首地址)的地址赋值给k。而printf的格式字符串中的(*k--)在这里你要清楚*k--的运算。先算(*k)然后再使k指向的地址减一。因此先算*k的值并打印出来。
大哥给点分吧 纯手打的 不明白的话还可以再问我哈!呵呵
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯