有以下程序#include <stdio.h>main( ){ int a = 2, *ptr; ptr = &a; *ptr = 8; a = (*ptr)++; printf("%d,%d\n", a, *ptr);}程序运行后的输出结果是( )。A)9,9B)8,9C)2,4D)0,4
A)9,9
B)8,9
C)2,4
D)0,4
#include <stdio.h>main( ){ int a = 2, *ptr; ptr = &a; *ptr = 8; a = (*ptr)++;//这里表达的是ptr所指地址里面的元素在赋值给a完毕之后会自加一 printf("%d,%d\n", a, *ptr);}
所以答案是B ??
回复 嘿嘿大人:所以答案是B ??
回复 对面:如果没有那个++就是b,但是这里有,说明操作完成后元素自加了一,而prt所指的就是a的地址,所以对prt中元素自加一就是a自加一
所以输出的是9和9
回复 嘿嘿大人:哦 嗦嘎
回复 对面:做题一定要把变量的本质看清楚,嘿嘿
点赞
扫一扫分享朋友圈
二维码
分享
你确定要删除这个问题吗?