若有定义: int*p; 则下列各选项中,不同于表达式“*p=*p+1;”的是( )。

admin2013-05-30  20

问题 若有定义:     int*p;    则下列各选项中,不同于表达式“*p=*p+1;”的是(    )。

选项 A、*p++;
B、++*p;
C、*p+=1;
D、++(*p);

答案1

解析 题目中的语句“*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;”。
转载请注明原文地址:https://kaotiyun.com/show/VmNp777K
0

最新回复(0)