求问一道C++题
chars1[20]="CSCI";chars2[20]="IACT";char*p=s1,*q=s2;while(*p)p++;while(*q){*p=*q;p++;...
char s1[20] = "CSCI";
char s2[20] = "IACT";
char *p = s1, *q = s2;
while(*p)p++;
while(*q){ *p = *q; p++; q++; }
*p = '\0';
cout << s1 << endl << s2 << endl;
输出的答案我推不出来
请解释一下,谢谢!! 展开
char s2[20] = "IACT";
char *p = s1, *q = s2;
while(*p)p++;
while(*q){ *p = *q; p++; q++; }
*p = '\0';
cout << s1 << endl << s2 << endl;
输出的答案我推不出来
请解释一下,谢谢!! 展开
5个回答
展开全部
首先如果你的输出结果是:
CSCIIACT
IACT
请继续往下看,否则请无视。
这段程序 第一要搞清指针的概念。数组也是指针。
char *p = s1, *q = s2;//这句话 除了申明p和q指针也同时将s1[0]和s2[0]的地址赋给了p和q
while(*p)p++;//p指向的地址的内容不为‘\0’时,指针向后移动一位,循环跳出时,p指向s1[4]
while(*q){ *p = *q; p++; q++; }//对p地址指向的内容进行赋值,赋值内容为q指向地址的内容(赋的是第几个肉眼一下子就能看出来了吧 不详细解释了)
最后给个标志输出s1,s2。
考虑到之前在动的指针只有p和q s1和s2没有动,所以从开始输出,由于s1[4]开始到s1[7]在第5行代码中被赋值s1[8]在第六行代码中被置位。所以输出就是这个。
ps:问问题起码要把自己的问题表述清楚,你的输出结果是什么,你自己推出来的结果是什么,思路是什么.你不把这些说出来,回答起来很无力的.
CSCIIACT
IACT
请继续往下看,否则请无视。
这段程序 第一要搞清指针的概念。数组也是指针。
char *p = s1, *q = s2;//这句话 除了申明p和q指针也同时将s1[0]和s2[0]的地址赋给了p和q
while(*p)p++;//p指向的地址的内容不为‘\0’时,指针向后移动一位,循环跳出时,p指向s1[4]
while(*q){ *p = *q; p++; q++; }//对p地址指向的内容进行赋值,赋值内容为q指向地址的内容(赋的是第几个肉眼一下子就能看出来了吧 不详细解释了)
最后给个标志输出s1,s2。
考虑到之前在动的指针只有p和q s1和s2没有动,所以从开始输出,由于s1[4]开始到s1[7]在第5行代码中被赋值s1[8]在第六行代码中被置位。所以输出就是这个。
ps:问问题起码要把自己的问题表述清楚,你的输出结果是什么,你自己推出来的结果是什么,思路是什么.你不把这些说出来,回答起来很无力的.
展开全部
while(*p)p++;//p指向s1的结束字符'\0'
while(*q){ *p = *q; p++; q++; }//将s2接在s1后面
*p = '\0';//字符串结束符
cout << s1 << endl << s2 << endl;//输出s1,s2
while(*q){ *p = *q; p++; q++; }//将s2接在s1后面
*p = '\0';//字符串结束符
cout << s1 << endl << s2 << endl;//输出s1,s2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char s1[20] = "CSCI";
char s2[20] = "IACT";
char *p = s1, *q = s2; //指针p,q分别指向s1,s2的首地址
while(*p)p++; //循环至p指向s1末尾
while(*q){ *p = *q; p++; q++; } //利用指针把s2接到s1的后面
*p = '\0'; //在s1的后面加上一个空字符
cout << s1 << endl << s2 << endl;
char s2[20] = "IACT";
char *p = s1, *q = s2; //指针p,q分别指向s1,s2的首地址
while(*p)p++; //循环至p指向s1末尾
while(*q){ *p = *q; p++; q++; } //利用指针把s2接到s1的后面
*p = '\0'; //在s1的后面加上一个空字符
cout << s1 << endl << s2 << endl;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CSCIIACT
IACT
IACT
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询