字符串矩阵输入输出

字符串矩阵输入输出

问题描述:

我想在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 请给我解释一下我做错了,因为这是我试图在我的原始代码中使用的原型是制作“用户名,密码,级别”的数据库

谢谢您的进一步信息。

+0

你做了什么?请提供你的问题[mcve]。 –

+1

'数据[i] [j]'是一个*数组*。你不能分配给数组,只能复制到它。阅读['strcpy'](http://en.cppreference.com/w/c/string/byte/strcpy)。 –

+0

为了将来的参考,*请* [阅读如何提出好问题](http://*.com/help/how-to-ask)。 –

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; 
} 
+0

非常感谢 –

+0

@AmirBouker如果这解决了你的错误,不要忘记+1。 :) – roottraveller

更多的细节你正在创建的char数组,你不能分配(指针)到它。这就是为什么你得到错误assignment to expression with array type

虽然可以将字符串复制到数组元素。尝试使用strcpy而不是代码中的以下作业:

Data[i][j]="aa";