| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 673 人关注过本帖
标题:小D 求救了。。。简单的C
只看楼主 加入收藏
xulu1024
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-3-24
收藏
 问题点数:0 回复次数:9 
小D 求救了。。。简单的C
以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址:
#include<stdio.h>
#include<string.h>
char *scmp(char *s1,char *s2)
{
if(strcmp(s1,s2)<0)
   return(s1);
else return(s2);
}
main()
{
int i;
char string[20],str[3][20];
for(i=0;i<3;i++) gets(str);
strcpy(string,scmp(str[0],str[1]));
strcpy(string,scmp(string,str[3]));
printf("%s\n",string);
}
若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为_____帮忙看看输出的是什么?说下原因 谢谢谢谢!。。。。
搜索更多相关主题的帖子: 字符串 include 
2008-09-17 17:46
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1689
专家分:4262
注 册:2007-12-27
收藏
得分:0 
gets(str)肯定有错,应该是gets(str[i])吧?
2008-09-17 18:08
muyinfei
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-9-1
收藏
得分:0 
出了楼上所说之外,还有倒数第三行的str[3]哪里来的?应该是str[2]吧?
2008-09-17 19:07
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
printf:   abba

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#include<stdio.h>
#include<string.h>
char *scmp(char *s1,char *s2) /* 接收两个字符串 */
{
    if(strcmp(s1,s2)<0) /* 比较其大小,当s1<s2时,返回s1*/
         return(s1);
    else return(s2);  /* 否则返回s2 */
}
int main(void)
{
    int i;
    char string[20],str[3][20];
    for(i=0;i<3;i++)
        gets(str[i] ); /* 输入2维数组str的值 */
    strcpy(string,scmp(str[0],str[1]));
    strcpy(string,scmp(string,str[2] )); /* 依次比较数组str的值,取其最小的一组储存在string中*/
    printf("%s\n",string);  /*输出string,也就是输出数组中最小字符串 */
}
2008-09-17 20:47
xulu1024
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-3-24
收藏
得分:0 
谢谢了哦。。各位。。可是答案是abcd啊。。。

[[it] 本帖最后由 xulu1024 于 2008-9-17 22:04 编辑 [/it]]
2008-09-17 22:00
xulu1024
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-3-24
收藏
得分:0 
#include<stdio.h>
#include<string.h>
char *scmp(char *s1,char *s2)
{
if(strcmp(s1,s2)<0)
   return(s1);
else return(s2);
}
main()
{
int i;
char string[20],str[3][20];
for(i=0;i<3;i++) gets(str[i]);
strcpy(string,scmp(str[0],str[1]));
strcpy(string,scmp(string,str[3]));
printf("%s\n",string);
}
若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为_____


这个是原本题目一个字不差的。。。。
2008-09-17 22:05
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1689
专家分:4262
注 册:2007-12-27
收藏
得分:0 
哦,原来是故意的,既然题目故意制造下标越界,那你只要回答结果不可预计就可以了
2008-09-17 22:24
xulu1024
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-3-24
收藏
得分:0 
可是答案是abcd啊
2008-09-18 09:58
asd6791868
Rank: 1
来 自:逆流
等 级:新手上路
帖 子:362
专家分:7
注 册:2008-7-27
收藏
得分:0 
~
abba

─條路 :  ┈片天  ┈個人  ─瞬間:
2008-09-18 10:06
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
答案算什么?无非是一些老头子在自慰罢了。

1、LZ题目抄错了。
2、书上印错了。
3、老头子们抽风了。

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-09-18 10:08
快速回复:小D 求救了。。。简单的C
数据加载中...
 
   



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

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