问题
单项选择题
若有定义: int*p; 则下列各选项中,不同于表达式“*p=*p+1;”的是( )。
A.*p++;
B.++*p;
C.*p+=1;
D.++(*;
答案
参考答案:A
解析: 题目中的语句“*p=*p+1;”是将指针变量p所指向的存储单元的值加1,然后再放入p所指向的存储单元中。选项A中,语句“*p++;”,当把该表达式赋给一整型变量k时,就会发现,原语句可变为“k=*p;p=p+1;”,即语句“*p++”最后所执行的是p的值(即p中存放的地址)加1,与题中语句“*p=*p+1;”的意思不同。再来看选项B,C,D,选项B中的语句可表示为“*p=*p+1;”。选项C中的语句可表示为“*p=*p+1;”。选项D中的语句也可表示为“*p=*p+1;”。