error C2664: 'strlen' : cannot convert parameter 1 from 'char [][80]' to 'const char *'
#include<stdio.h>#include<string.h>#include<conio.h>#defineN80voidcsort(charstr[][N],...
#include<stdio.h>
#include<string.h>
#include<conio.h>
#define N 80
void csort(char str[][N],int n);
void main()
{
char s[2][N]={"abcdefgh","123498765"}; int i; //1、二维字符串赋值需要在数值两边加大括弧
csort(s,2);
for(i=0;i<2;i++)
puts(s[i]); //2、二维数组一行字符串,加下标,即puts(s);→puts(s[i]);
getch();
}
void csort(char str[][N],int n)
{
int i,j,k,len,half;
char temp;
for(i=0;i<n;i++)
{
len=strlen(str); //3、strlen库函数的实参是数组名str,不是str[i][0]
half=len/2+1; //4、按照题意“从中间将字符串一分为二左边排序”,所以half=len/2;→half=len/2+1;
for(j=0;j<half-1;j++)
for(k=j+1;k<half-1;k++)
if(str[i][j]<str[i][k])
{ temp=str[i][j];
str[i][j]=str[i][k];
str[i][k]=temp;
}
}
} 展开
#include<string.h>
#include<conio.h>
#define N 80
void csort(char str[][N],int n);
void main()
{
char s[2][N]={"abcdefgh","123498765"}; int i; //1、二维字符串赋值需要在数值两边加大括弧
csort(s,2);
for(i=0;i<2;i++)
puts(s[i]); //2、二维数组一行字符串,加下标,即puts(s);→puts(s[i]);
getch();
}
void csort(char str[][N],int n)
{
int i,j,k,len,half;
char temp;
for(i=0;i<n;i++)
{
len=strlen(str); //3、strlen库函数的实参是数组名str,不是str[i][0]
half=len/2+1; //4、按照题意“从中间将字符串一分为二左边排序”,所以half=len/2;→half=len/2+1;
for(j=0;j<half-1;j++)
for(k=j+1;k<half-1;k++)
if(str[i][j]<str[i][k])
{ temp=str[i][j];
str[i][j]=str[i][k];
str[i][k]=temp;
}
}
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询