下列程序的输出结果是 -10 . int c[ ]={10,0,-10}; int *k=c+2; printf(“%d”,*k--); 帮忙分析一下吧.

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/14 21:14:57
下列程序的输出结果是 -10 . int c[ ]={10,0,-10}; int *k=c+2; printf(“%d”,*k--); 帮忙分析一下吧.
xSێP & /~AG' yҘԑK: rHbe'~]01ikٍ*:og_5(ܩ^5g$9IGhDHMl2 ;TW{WJ++`p?Fªj*RZQ(4T"~{GnAު`ڦ"[Wrg&wCj7 12օ21fY]`IjC9yE3~b57֦1ȽsÇ?V|&M$fI{&mܢ ٻFEwϡWb*<`"8QXh$jn[H"k:_cDz:&tn]@qӒCRd o+Eho7;D7|ˬ}̟UO!ȩx <{.!J.R)#'M}Tq1Vf@oFmvgnX"<筥oeVMg`uc*;P3Τ$(z`<

下列程序的输出结果是 -10 . int c[ ]={10,0,-10}; int *k=c+2; printf(“%d”,*k--); 帮忙分析一下吧.
下列程序的输出结果是 -10 . int c[ ]={10,0,-10}; int *k=c+2; printf(“%d”,*k--); 帮忙分析一下吧.

下列程序的输出结果是 -10 . int c[ ]={10,0,-10}; int *k=c+2; printf(“%d”,*k--); 帮忙分析一下吧.
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的值并打印出来.
大哥给点分吧 纯手打的 不明白的话还可以再问我哈!呵呵