| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 921 人关注过本帖
标题:[求助]帮我调试一下这个小程序
只看楼主 加入收藏
frog555
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-11-9
收藏
 问题点数:0 回复次数:12 
[求助]帮我调试一下这个小程序

/* 函数fun的功能是:用冒泡法对6个字符串进行排序。
void fun(char *str[] , int n) */


#include <stdio.h>
#include <string.h>
void fun(char *st[],int n);
void main()
{
int n,i;
char *st[]; /*定义一个字符指针*/
scanf("%d",&n); /*输入n个字符进行比较*/
for(i=0;i<n;i++)
scanf("%s",st); /*输入要比较的字符*/
fun(*st[],n); /*函数的传递,我觉得我这步错了不知道字符串是如何传递的*/
}


void fun(char *st[],int n)
{
int i,j;
char *st1[];
for(i=0;i<n-1;i++) /*冒泡的外循环要比较的次数*/
for(j=n-1;j>i;j++) /*每次循环*/
if(strcmp(st[j]>st[j-1] /*做交换*/
{
st1[]=st[j];
st[j]=st[j-1];
st[j-1]=st1[];
}
printf("The result is:");
for(i=0;i<n;i++) /*输出结果*/
printf("%10s",st[i]);
}



很多错``不知道如何解决````谁有空的话帮我调试一下```
我第一次做字符串的题目有些蒙```

搜索更多相关主题的帖子: 调试 
2007-01-12 19:04
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
void main()
改为int main(void)

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-01-12 20:22
fangfangff
Rank: 1
等 级:新手上路
威 望:2
帖 子:479
专家分:0
注 册:2006-12-22
收藏
得分:0 
if(strcmp(st[j]>st[j-1] /*做交换*/

if(strcmp(st[j],st[j-1])>0)

千里冰封---My Love 尽管相隔千里 , 依然拥有冰封
2007-01-12 20:29
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
if(strcmp(st[j],st[j-1]) ==-1)

if(strcmp(st[j]>st[j-1] )) /*做交换*/

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-01-12 20:38
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
st1[]=st[j];

字符串不能直接赋值,而应该用strcpy(st1,st[j]);
此后的字符串赋值均如此更改

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-01-12 20:40
frog555
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-11-9
收藏
得分:0 
谢谢``那个
void main()
为什么改成int main(void)
有谁调用main吗?`
2007-01-12 20:45
frog555
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-11-9
收藏
得分:0 
VC编译器老说我定义的数组长度未知是什么意思?`
2007-01-12 20:49
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
以下是引用frog555在2007-1-12 20:45:04的发言:
谢谢``那个
void main()
为什么改成int main(void)
有谁调用main吗?`

看看我的电子书:http://bbs.bc-cn.net/viewthread.php?tid=115667
你就会知道了


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-01-12 21:00
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
以下是引用frog555在2007-1-12 20:49:26的发言:
VC编译器老说我定义的数组长度未知是什么意思?`

char *st[];
是错误的,当然不对了

char **st;或

define N N的最大值
char st[N][N];


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-01-12 21:02
frog555
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-11-9
收藏
得分:0 

#include <stdio.h>
#include <string.h>
void fun(char *st[],int n);
void main(void)
{
int n,i;
char **st; /*定义一个字符指针*/
scanf("%d",&n); /*输入n个字符进行比较*/
for(i=0;i<n;i++)
scanf("%s",st); /*输入要比较的字符*/
fun(**st,n); /*函数的传递,我觉得我这步错了不知道字符串是如何传递的*/
}


void fun(char *st[],int n)
{
int i,j;
char **st1;
for(i=0;i<n-1;i++) /*冒泡的外循环要比较的次数*/
for(j=n-1;j>i;j++) /*每次循环*/
if(strcmp(st[j],st[j-1]>0)) /*做交换*/
{
strcpy(st1[],st[j]);
strcpy(st[j],st[j-1]);
strcpy(st[j-1],st1[]);
}
printf("The result is:");
for(i=0;i<n;i++) /*输出结果*/
printf("%10s",st[i]);
}

这是我改后的不过还 有几个错我改不出来```

2007-01-12 21:39
快速回复:[求助]帮我调试一下这个小程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016523 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved