当前位置: 代码迷 >> C语言 >> 关于指针的问题
  详细解决方案

关于指针的问题

热度:242   发布时间:2007-12-28 11:23:18.0
关于指针的问题
输入6个字符串,由大到小的顺序输出
请高手帮我看看下错在那里.第一次输出的结果和第二次输出的结果怎么不一样.先谢谢

#include<studio.h>
#include<string.h>
void main()
{
void *name(char a[]);
char b[6][20];
int i,t;
for(i=0;i<=5;i++)
gets(b[i]);
name(b[1]);
for(t=0;t<=5;t++)
puts(b[t]);    /*第一次输出的结果*/
}
void *name(char a[])
{
int i,t;
char p;
for(i=1;i<=5;i++)
  if(strcmp(*a[i],*a[i+1])<0)
{p=a[1];a[1]=a[i+1];a[i+1]=p;}
for(t=0;t<=5;t++)
puts(**name[i]);      /*第二次输出结果*/
}
搜索更多相关的解决方案: 指针  

----------------解决方案--------------------------------------------------------
#include<studio.h>
#include<string.h>
void main()
{
void *name(char a[]);
char b[6][20];
int i,t;
for(i=0;i<=5;i++)/*输入6个字符串*/
gets(b[i]);
name(b[1]);       /*传的是第二个字符串,怎么进行排序.*/
for(t=0;t<=5;t++)
puts(b[t]);    /*第一次输出的结果*/
}
void *name(char a[])
{
int i,t;
char p;
for(i=1;i<=5;i++)
  if(strcmp(*a[i],*a[i+1])<0)
{p=a[1];a[1]=a[i+1];a[i+1]=p;}
for(t=0;t<=5;t++)
puts(**name[i]);      /*第二次输出结果*/
}
----------------解决方案--------------------------------------------------------
void *name(char a[])
改为:
void *name(char a[ 6 ][ ])
----------------解决方案--------------------------------------------------------
name(b[1]);       /*传的是第二个字符串,怎么进行排序.*/
这个是name(b[i])打错了
----------------解决方案--------------------------------------------------------
LS 传b[ i ] 就更不对了,因为i 这时候是6
----------------解决方案--------------------------------------------------------
  相关解决方案