strcpy返回的错误没有响应窗口

strcpy返回的错误没有响应窗口

这段代码是制作一本简单词典的起点。我试着把这个词和意思插入数组。怎么了?

#include <stdio.h>
#include<string.h>

main(){
    char alp, *a[5][1], item[100],item2[150];
    for (int i =1;i <=5 ; i++){
        printf("\n\nEnter item [%d][%d]:",i,0);
        scanf("%s",&item);
        printf("Enter item meaning [%d][%d]:",i,0);
        scanf("%s",&item2);
        strcpy(a[i][0],item); //program stops here
        strcpy(a[i][1],item2);
        printf("word %s \nmeaning: %s",a[i][0],a[i][1]);
    }
  }

最佳答案

给你

#include <stdio.h>
#include <string.h>

#define N   5

int main( void )
^^^^^^^^^^^^^^^^
{
    char a[N][2][150], item[150], item2[150];
         ^^^^^^^^^^^^

    for ( int i = 0; i < N ; i++ )
          ^^^^^^^^^^^^^^^^^^^^^^
    {
        printf( "\n\nEnter item [%d][%d]: ", i, 0 );
        scanf( "%s", item );
                     ^^^^
        printf( "Enter item meaning [%d][%d]: ", i, 1 );
        scanf( "%s", item2 );
                     ^^^^^
        strcpy( a[i][0], item );
        strcpy( a[i][1], item2 );

        printf("word %s \nmeaning: %s\n", a[i][0], a[i][1] );
    }
}

本声明
char *a[5][1];

声明指针的多维数组。您需要在复制字符串的位置保留内存。
数组的索引从0开始。

关于c - strcpy返回的错误没有响应窗口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37214177/

10-12 16:08