我寫一個交換程序和我有一個字符數組保持另外6個字符數組的。該程序工作正常,除了一件事:當我嘗試打印數組的值,它只打印第一個字母。陣列字符數組C++
也許代碼是不正確的,但我沒有找到另一種方法,使這種交流。其實我認爲問題是指向那個陣列的指針,但是我不確定。
下面是代碼:
#include <iostream>
#include <string>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main(int argc, char* argv[])
{
cout<<"EXCHANGE POKEMON:"<<endl;
char a[100]="PIKACHU", b[100]="CHARMELEON", c[100]="GEODUDE", d[100]="GYARADOS", e[100]="BUTTERFREE", f[100]="MANKEY", tmp[100];
char t[6] = {*a,*b,*c,*d,*e,*f};
while(1)
{
for(int i = 0; i < 6; i++)
{
cout << i << ") " << t[i] <<endl;
}
cout<<endl<<"Choose a pokemon:";
int x, y;
cin>>x;
if(x == -1)
{
exit(0);
}
cout << "Choose a pokemon to exchange with:";
cin>>y;
*tmp = t[x];
t[x] = t[y];
t[y] = *tmp;
}
}
請[編輯]固定格式的問題。對於未來的帖子,請在發帖前查看預覽。 –
如果是C++,爲什麼不使用['std :: string'](http://en.cppreference.com/w/cpp/string)來表示字符串(和['std :: swap'] (http://en.cppreference.com/w/cpp/algorithm/swap)交換它們)? –
此外:*「我有一個字符數組,可容納另外6個字符數組」*不,你不知道。你需要更仔細地閱讀你的學習材料;如果它實際上告訴你使用C數組進行字符串操作,你應該得到一本更好的書。 –