我想将状态名称及其大写存储在2D数组中,如下所示
State | Capital
----------|--------
Bihar | Patna
----------|--------
Jharkhand | Ranchi
----------|--------
Gujarat | Gandhinagar
我尝试使用Turbo C ++下面的代码执行此操作
#include<iostream.h>
#include<conio.h>
#include<string.h>
void main()
{
char capt[20];
char stat[20];
char capt_stat[5][2];
for(int i=0;i<5;i++)
{
cin>>capt;
cin>>stat;
for(int j=0;j<1;j++)
{
strcpy(capt_stat[i][j],stat);
strcpy(capt_stat[i][j+1],capt);
}
}
for(int i=0;i<5;i++)
{
for(int j=0;j<1;j++)
{
cout<< capt_stat[i][j]<<" "<<capt_stat[i][j+1];
}
cout<<endl;
}
}
但是收到错误无法在第18行将'int'转换为'char *' -
的strcpy(capt_stat [i] [j],STAT);
请指导我出错了什么?
答案 0 :(得分:3)
表达式capt_stat[i][j]
是单个char
,而不是strcpy
所期望的字符串。
答案 1 :(得分:0)
您希望capt_stat[i][j]
的类型为char *
。
声明为
char capt_stat[5][2][20]; // 20 is the maximum length of each string