帮我看看我的程式有什么问题,我怎么也看不出来
#include<stdio.h>#include<string.h>
void main()
{
char a[10][40];
int i,j;
char b[50],*p[40];
for(i=0;i<10;i++)
gets(a[i]);
p=a;
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
if(strcmp(*(p+i),*(p+j))<0)
{
strcpy(b,*(p+i));
strcpy(*(p+i),*(p+j));
strcpy(*(p+j),b);
}
for(i=0;i<10;i++)
puts(a[i]);
}
我怎么认为没有问题,但是报错
1.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\16_4\1.cpp(10) : error C2440: '=' : cannot convert from 'char [10][40]' to 'char *[40]'
There is no context in which this conversion is possible
执行 cl.exe 时出错.