一个C语言选择题

[复制链接]
查看11 | 回复3 | 2010-8-21 00:11:18 | 显示全部楼层 |阅读模式
假定ptr1和ptr2分别是指向某个字符串的指针,则在下列选项中非法的语句中是(B)
A. if(ptr1==ptr2) printf("yes.");
B. *ptr1=48+(ptr1-ptr2);
C. *(ptr1+=2)=*ptr2;
D. *(ptr1-1+ptr2)=getchar();
答案是C,不懂这题啊,望指点。
没分,等有财富了一定补上,谢谢了!!!!

回复

使用道具 举报

千问 | 2010-8-21 00:11:18 | 显示全部楼层
答案应该是D吧指针可以和常量相加减指针和指针可以相减,但不能相加 指针和常量相加减,就是指针移动多少个元素位置指针和指针相减,可以得到指针间元素距离指针和指针相加没有意义,所以C语言里也没有定义
回复

使用道具 举报

千问 | 2010-8-21 00:11:18 | 显示全部楼层
#include #include #include using namespace std;int main(){
char *ptr1;
char a[10]="abcd";
char b[20]="mkdrafd";
char *ptr2 = b
回复

使用道具 举报

千问 | 2010-8-21 00:11:18 | 显示全部楼层
c选项里ptr1+=2的意思是ptr1=ptr1+2这样是不行的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行