有以下程序#include <stdio.h>main( ){ int i, *ptr; int array[4] = {1,1,3,4}; for (ptr=array, i=0; i<3; i++) printf("%d,", *ptr++); printf("\n");}程序运行后的输出结果是( )。A)1,1,3,B)1,3,4,C)1,2,4,D)2,4,8,
A)1,1,3,
B)1,3,4,
C)1,2,4,
D)2,4,8,
#include <stdio.h>
main( )
{
int i, *ptr;
int array[4] = {1,1,3,4};
for (ptr=array, i=0; i<3; i++) printf("%d,", *(ptr++));//原代码等价与红色部分
printf("\n");
}
++符号优先级大于*号,而加号在后表示先进行当前运算然后进行自加一运算
那这个题答案是 B?
回复 嘿嘿大人:那这个题答案是 B?
回复 对面:我说的这么明白了也,先执行当前语句,然后执行自加,肯定是选择a啊
回复 嘿嘿大人:不是先括号里面的吗?
回复 对面:是的啊,但是那个自加是在整个表达式执行完才会自加的,不是有括号就自加了
回复 嘿嘿大人:哦 哦 嗦嘎
回复 对面:这些都要记住,个人觉得选择题很大可能会考
点赞
扫一扫分享朋友圈
二维码
分享
你确定要删除这个问题吗?