标题:高手指点一下啊
只看楼主
亦风
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2009-9-24
结帖率:50%
已结贴  问题点数:10 回复次数:5 
高手指点一下啊
#include <stdio.h>
#include <string.h>
void main()
{
 char max[20],str[10][20];   
 int i;
 for(i=0;i<10;i++)
   gets(str[i]);
 strcpy(max,str[0]);  
 for(i=1;i<10;i++)   
    if(strcmp(str[i],max)>0)
       strcpy(max,str[i]);
 printf("\n 最大串是:%s\n",max);
}
运行的时候有一个错误,我怎么也找不到啊,谁能告知一下啊,谢谢!
搜索更多相关主题的帖子: void max include 
2009-11-15 10:50
Bosen
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:65
专家分:102
注 册:2009-11-3
得分:2 
程序代码:
#include <stdio.h>
#include <string.h>
void main()
{
char max[20],str[10][20];   
int i;
for(i=0;i<10;i++) 
   gets(str);         //分号有误,gets(数组首地址);
strcpy(max,str[0]);  
for(i=1;i<10;i++)    
    if(strcmp(str[i],max)>0)
       strcpy(max,str[i]);
printf("\n 最大串是:%s\n",max);//分号错误
}
这样试过了可以运行,但是你的两个字符数组都是空的,所以看不到结果!
2009-11-15 11:03
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
得分:2 
回复 2楼 Bosen
分号有误到时不假,但是为什么是gets(str)..为啥不是gets(str+i);或者gets(*(str+i));
一看就错了。

要练习算法就来http:///!!有挑战哦!!
2009-11-15 12:15
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
得分:2 
就只是两个分号的问题···其它OK··
2009-11-15 16:10
jcslt
Rank: 8Rank: 8
来 自:90-xx.com
等 级:蝙蝠侠
帖 子:251
专家分:975
注 册:2009-10-10
得分:2 
LZ的除了分号就是每输入一个数字要按一回enter

www.
2009-11-15 17:45
ccccapple
Rank: 1
来 自:中山
等 级:新手上路
帖 子:5
专家分:2
注 册:2009-11-15
得分:2 
for(i=0;i<10;i++)
 {  gets(str[i]);
strcpy(max,str[0]);
 }
for(i=1;i<10;i++)   
    if(strcmp(str[i],max)>0)
       strcpy(max,str[i]);
printf("\n 最大串是:%s\n",max);
在第一个for语句中要加上大括号,不然会得到双循环,造成在比较时得不到输入的字符串!
2009-11-15 23:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-292346-1-1.html




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

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