This question already has answers here:
How to correctly assign a new string value?
(3个答案)
2年前关闭。
我想用C编程语言制作一个字符串矩阵
这是我的代码
错误是:
请向我解释做错了什么,因为这是我尝试在原始代码中使用的原型,该原型用于创建“用户名,密码,级别”数据库
先感谢您。
(3个答案)
2年前关闭。
我想用C编程语言制作一个字符串矩阵
这是我的代码
void main()
{
char Data[10][3][20];
int i=0;
int j=0;
for (i=0;i<10;i++)
{
for (j=0;j<3;j++)
{
Data[i][j]="aa";
}
}
for (i=0;i<10;i++)
{
for (j=0;j<3;j++)
{
printf("%s",Data[i][j]);
}
}
printf("Done");
scanf("%d",&i);
}
错误是:
assignment to expression with array type
请向我解释做错了什么,因为这是我尝试在原始代码中使用的原型,该原型用于创建“用户名,密码,级别”数据库
先感谢您。
最佳答案
Data[i][j]
是一个数组。您不能分配给数组,只能复制到该数组。使用strcpy()
。 http://www.cplusplus.com/reference/cstring/strcpy/的更多详细信息
#include <stdio.h>
int main() {
char Data[10][3][20];
int i=0;
int j=0;
for (i=0;i<10;i++){
for (j=0;j<3;j++){
strcpy(Data[i][j], "aa"); //use strcpy for copy values
}
}
for (i=0;i<10;i++){
for (j=0;j<3;j++) {
printf("%s ",Data[i][j]);
}
printf("\n");
}
printf("Done");
scanf("%d",&i); //why this scanf here ??
return 0;
}
07-24 13:31