代碼如下
#include <iostream>
#include <string>
using namespace std;
void main()
{
char *ID[6]={"10","11","12","13","14","15"},
*telephonenumber[6]={"6311","5232","2968","6688","8919","3828"},
*name[6]={"ming","zi","sui","bian","da","de"};
int i,order;
char *id;
cout<<"請輸入學號:";
cin>>id;
for(i=0;i<6;i++)
if(strcmp(id,ID[i])==0)
{order=i;
break;
}
cout<<"姓名:"<<name[order]<<endl;
cout<<"電話號碼:"<<telephonenumber[order]<<endl;
}
剛剛開始學,這是一次作業,輸入學號然后輸出對應的姓名及電話號碼。陣列指標什么的還是有點不太清楚。然后自己實在不會改啊QAQ希望能幫幫忙把它改正確
uj5u.com熱心網友回復:
哦截圖里程式名字什么的不太一樣 有隱私……uj5u.com熱心網友回復:
char *id;cout<<"請輸入學號:";
cin>>id;
id 野指標
char id[128] = {0};
uj5u.com熱心網友回復:
謝謝二樓 我試一試 ps.昨晚可能傻了要輸入學號我一直輸的姓名。。uj5u.com熱心網友回復:
另外你的邏輯也不完整, 如果輸入的沒有查到, order 沒有初始化,也可能會導致越界奔潰
#include <iostream>
#include <string>
using namespace std;
void main()
{
char *ID[6]={"10","11","12","13","14","15"},
*telephonenumber[6]={"6311","5232","2968","6688","8919","3828"},
*name[6]={"ming","zi","sui","bian","da","de"};
int i,order = -1;
char id[128] = {0};
cout<<"請輸入學號:";
cin>>id;
for(i=0;i<6;i++)
{
if(strcmp(id,ID[i])==0)
{
order=i;
break;
}
}
if(order >= 0)
{
cout<<"姓名:"<<name[order]<<endl;
cout<<"電話號碼:"<<telephonenumber[order]<<endl;
}
else
{
cout << "沒查到" << endl;
}
}
uj5u.com熱心網友回復:
好了已改好uj5u.com熱心網友回復:
崩潰的時候在彈出的對話框按相應按鈕進入除錯,按Alt+7鍵查看Call Stack即“呼叫堆疊”里面從上到下列出的對應從里層到外層的函式呼叫歷史。雙擊某一行可將游標定位到此次呼叫的源代碼或匯編指令處,看不懂時雙擊下一行,直到能看懂為止。uj5u.com熱心網友回復:
char *id; -- 》 char id[xxxx] = {0};轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/81943.html
標籤:基礎類
