| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1149 人关注过本帖
标题:求助各位大神帮忙解答,我是一个新人
只看楼主 加入收藏
bluehorizon
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-11-16
结帖率:0
收藏
已结贴  问题点数:20 回复次数:10 
求助各位大神帮忙解答,我是一个新人
图片附件: 游客没有浏览图片的权限,请 登录注册
#include <stdio.h>
#include <string.h>
int main()
{
    char str[3][20];
    char string[20];
    int i;
        for (i=0;i<3;i++)
            scanf("%s",str[i]);
    for (i=0;i<3;i++)
        if (str[1]>str[0])
            strcpy(string,str[1]);
        else
            strcpy(string,str[0]);
            if (str[2]>str[0])
                strcpy(string,str[2]);
            else
                strcpy(string,str[0]);;
            printf("\nthe largest is %s\n",str[i]);
            return 0;
}
程序运行不出结果,出现时乱码,求助大神,不知道哪里出现了问题


搜索更多相关主题的帖子: include 
2016-11-16 20:28
xufan
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:232
专家分:804
注 册:2008-10-20
收藏
得分:5 
参考下这个:
程序代码:
#include <stdio.h>
#include <string.h>
int main()
{
    char str[3][20];
    char string[20] = {0};
    int i;
    for (i=0;i<3;i++)
        scanf("%s",str[i]);

    for (i=0;i<3;i++)
    {
        if (strcmp(string, str[i]) < 0)
        {
            strncpy(string, str[i], strlen(str[i]));
        }
    }
    printf("\nthe largest is %s\n",string);

    return 0;
}

~~~~~~我的明天我知道~~~。
2016-11-16 20:45
bluehorizon
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-11-16
收藏
得分:0 
回复 2楼 xufan
我们老师说不用strcmp函数,用for循环比较,谢谢你了
2016-11-16 20:47
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:5 
printf("\nthe largest is %s\n",str[i]);//此时 的i=3,str[3]数组越界了
2016-11-16 20:48
bluehorizon
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-11-16
收藏
得分:0 
回复 4楼 linlulu001
i为什么等于3了啊,不是没有3的吗?谢谢帮助
2016-11-16 20:49
xufan
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:232
专家分:804
注 册:2008-10-20
收藏
得分:0 
用for循环比较两个字符串的大小?

~~~~~~我的明天我知道~~~。
2016-11-16 20:50
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:5 
楼主是比较输出最长的那个字符串吧
#include <stdio.h>
 #include <string.h>
 int main()
 {
     char str[3][20];
     char string[20];
     int i;
         for (i=0;i<3;i++)
             scanf("%s",str[i]);
     for (i=0;i<3;i++)
         if (strlen(str[1])>strlen(str[0]))
             strcpy(string,str[1]);
         else
             strcpy(string,str[0]);
             if (strlen(str[2])>strlen(str[0]))
                 strcpy(string,str[2]);
             else
                 strcpy(string,str[0]);;
    printf("\nthe largest is %s\n",str[i]);
             return 0;
 }

早知做人那么辛苦!  当初不应该下凡
2016-11-16 20:58
crystone
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:45
专家分:183
注 册:2015-11-26
收藏
得分:5 
我没看错吧,楼主是用word写程序吗?
2016-11-16 21:03
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:0 
回复 5楼 bluehorizon
不懂就将i打印出来,用眼睛看。
2016-11-16 21:08
bluehorizon
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-11-16
收藏
得分:0 
回复 8楼 crystone
这个只是截图,我用vc++6.0
2016-11-20 10:05
快速回复:求助各位大神帮忙解答,我是一个新人
数据加载中...
 
   



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

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