怎样使用比较二维数组的大小?
答案:1 悬赏:40 手机版
解决时间 2021-01-26 08:15
- 提问者网友:夢醒日落
- 2021-01-25 23:38
怎样使用比较二维数组的大小?
最佳答案
- 五星知识达人网友:一秋
- 2021-01-26 00:18
不是有警告,是有错误啊,你不能把max=str+i,这样的二维数组的赋值是不允许的,你最好吧max声明为一个字符数组,然后用strcpy来实现str+i向max的转化,那样应该就不会出现错误了,另外strcmp等一系列这样的函数的形参都是char *类型的,你吧把二维数组的一维赋给它,就像strcmp(str+i,max); 是不可以的~~虽然它是一个字符串,但是不能实现自动类型转换
我给你写了一个,可以的,你看看~~
#include
#include
#define N 20
int main()
{
char str[5][N];
int i,j;
for(i=0;i<5;i++)
{
printf("Please input %d word: ",i+1);
scanf("%s",&str[i]);
}
for(i=0;i<4;i++)
for(j=i;j<5;j++)
{
if(strcmp(str[i],str[j])<0)
{
char change[N];
strcpy(change,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],change);
}
}
for(i=0;i<5;i++)
{
printf("%s ",str[i]);
}
printf("\n");
return 0;
}
我给你写了一个,可以的,你看看~~
#include
#include
#define N 20
int main()
{
char str[5][N];
int i,j;
for(i=0;i<5;i++)
{
printf("Please input %d word: ",i+1);
scanf("%s",&str[i]);
}
for(i=0;i<4;i++)
for(j=i;j<5;j++)
{
if(strcmp(str[i],str[j])<0)
{
char change[N];
strcpy(change,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],change);
}
}
for(i=0;i<5;i++)
{
printf("%s ",str[i]);
}
printf("\n");
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯