求救C语言编程,运行不了啊,在线等
答案:4 悬赏:30 手机版
解决时间 2021-02-01 13:27
- 提问者网友:泪痣哥哥
- 2021-01-31 17:47
求救C语言编程,运行不了啊,在线等
最佳答案
- 五星知识达人网友:神的生死簿
- 2021-01-31 19:22
修改如下
//---------------------------------------------------------------------------
#include
#include
main()
{
void sort(char *name[],int n), print(char *name[],int n);
int n=3,i,j;
char a[3][20];
char *name[3];
printf("请输入三个字符串\n");
for(i=0;i<3;i++)
scanf("%s",a[i]);
for(j=0;j<3;j++)
name[j]=a[j];
sort(name,n);
print(name,n);
}
void sort(char *name[],int n)
{ char *temp;
int i,j,k;
for(i=0;i { k=i;
for(j=i+1;j if(strcmp(name[k],name[j])>0) k=j;
if(k!=i)
{ temp=name[i]; name[i]=name[k]; name[k]=temp;}
}
}
void print(char *name[],int n)
{
int i;
for(i=0;i printf("%s\n",name[i]);
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include
#include
main()
{
void sort(char *name[],int n), print(char *name[],int n);
int n=3,i,j;
char a[3][20];
char *name[3];
printf("请输入三个字符串\n");
for(i=0;i<3;i++)
scanf("%s",a[i]);
for(j=0;j<3;j++)
name[j]=a[j];
sort(name,n);
print(name,n);
}
void sort(char *name[],int n)
{ char *temp;
int i,j,k;
for(i=0;i
for(j=i+1;j
if(k!=i)
{ temp=name[i]; name[i]=name[k]; name[k]=temp;}
}
}
void print(char *name[],int n)
{
int i;
for(i=0;i
}
//---------------------------------------------------------------------------
全部回答
- 1楼网友:雾月
- 2021-01-31 22:35
void sort(char *name[],int n), print(char *name[],int n); 通常貌似要放到main外面 最好分行写
*name[j]=a[j]; 貌似没这样用的 要用也应该是 & 吧
*name[j]=a[j]; 貌似没这样用的 要用也应该是 & 吧
- 2楼网友:孤独入客枕
- 2021-01-31 22:06
#include
#include
main()
{
void sort(char *name[],int n), print(char *name[],int n);
int n=3,i,j;
char a[3][20];//装三个字符串的话~要定义二堆数组
char *name[20];
printf("请输入三个字串\n");//改了个字
for(i=0;i<3;i++)
scanf("%s",a[i]);
for(j=0;j<3;j++)
name[j]=a[j];//这里~指针没确定时~不能用*操作符
sort(name,n);
print(name,n);
}
void sort(char *name[],int n)
{ char *temp;
int i,j,k;
for(i=0;i { k=i;
for(j=i+1;j if(strcmp(name[k],name[j])>0) k=j;
if(k!=i)
{ temp=name[i]; name[i]=name[k]; name[k]=temp;}
}
}
void print(char *name[],int n)
{
int i;
for(i=0;i printf("%s\n",name[i]);
}
这样运行没有问题~
#include
main()
{
void sort(char *name[],int n), print(char *name[],int n);
int n=3,i,j;
char a[3][20];//装三个字符串的话~要定义二堆数组
char *name[20];
printf("请输入三个字串\n");//改了个字
for(i=0;i<3;i++)
scanf("%s",a[i]);
for(j=0;j<3;j++)
name[j]=a[j];//这里~指针没确定时~不能用*操作符
sort(name,n);
print(name,n);
}
void sort(char *name[],int n)
{ char *temp;
int i,j,k;
for(i=0;i
for(j=i+1;j
if(k!=i)
{ temp=name[i]; name[i]=name[k]; name[k]=temp;}
}
}
void print(char *name[],int n)
{
int i;
for(i=0;i
}
这样运行没有问题~
- 3楼网友:鱼芗
- 2021-01-31 20:34
name是二维指针,name[0],name[1],name[2]分别记录着三个字符串的首地址a[0],a[1],a[2]。
赋值时要类型对等。。。
#include
#include
main()
{
void sort(char *name[],int n), print(char *name[],int n);
int n=3,i,j;
char a[3][20]; //这里
char *name[20];
printf("请输入三个字符\n");
for(i=0;i<3;i++)
scanf("%s",a[i]);
for(j=0;j<3;j++)
name[j]=a[j]; //这里
sort(name,n);
print(name,n);
}
void sort(char *name[],int n)
{ char *temp;
int i,j,k;
for(i=0;i { k=i;
for(j=i+1;j if(strcmp(name[k],name[j])>0) k=j;
if(k!=i)
{ temp=name[i]; name[i]=name[k]; name[k]=temp;}
}
}
void print(char *name[],int n)
{
int i;
for(i=0;i printf("%s\n",name[i]);
}
赋值时要类型对等。。。
#include
#include
main()
{
void sort(char *name[],int n), print(char *name[],int n);
int n=3,i,j;
char a[3][20]; //这里
char *name[20];
printf("请输入三个字符\n");
for(i=0;i<3;i++)
scanf("%s",a[i]);
for(j=0;j<3;j++)
name[j]=a[j]; //这里
sort(name,n);
print(name,n);
}
void sort(char *name[],int n)
{ char *temp;
int i,j,k;
for(i=0;i
for(j=i+1;j
if(k!=i)
{ temp=name[i]; name[i]=name[k]; name[k]=temp;}
}
}
void print(char *name[],int n)
{
int i;
for(i=0;i
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯