我開了除錯器以后,發現當p和q為空的時候,仍然執行回圈。
#include<iostream>
using namespace std;
int main()
{
char a[10],b[10];
char *p,*q,t;
cout<<"please enter the string1"<<endl;
cin>>a;
cout<<"please enter the string2"<<endl;
cin>>b;
p=a;
q=b;
while(p&&q)//問題是在p和q為空的時候不跳出回圈
{
t=*p;
*p=*q;
*q=t;
*p++;
*q++;
}
return 0;
}
uj5u.com熱心網友回復:
p和q怎么會為空呢最初他有初始值的,后面p++,q++,地址空間從你軟體的加載基址開始,你一直自增,等溢位回到null?
估計你的條件是*p&&*q吧
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/148942.html
標籤:C語言
上一篇:【求助求助】編譯器報錯
下一篇:【菜鳥我又雙來求教了】
