| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 496 人关注过本帖
标题:请教下这个问题。。。。。。。。。。。。。。。。。。。。。。。。。。。。 ...
只看楼主 加入收藏
ab6326795
Rank: 2
等 级:论坛游民
帖 子:91
专家分:56
注 册:2010-11-8
结帖率:80%
收藏
 问题点数:0 回复次数:7 
请教下这个问题。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
1.下面程序中加不加"#include<string.h>"有何区别,我测试的时候不加也行。这是为什么?
程序代码:
#include<stdio.h>
#include<string.h>
void main()
{
    char str[3][20],sum[20];
int i;

for(i=0;i<3;i++)
{
scanf("%s",str[i]);
}
if(strcmp(str[0],str[1])>0)
strcpy(sum,str[0]);

if(strcmp(str[2],sum)>0)
strcpy(sum,str[2]);

printf("最大字符%s",sum);

getch();
}
请看下图输入:
图片附件: 游客没有浏览图片的权限,请 登录注册


2.得出的结果都有烫烫烫,为什么?。。。。
这代码是谭浩强《C程序设计》里的。。。

我把这里“ char str[3][20],sum[20];”修改为:
“char str[3][20],sum[20]={""};”就好了。。。。

搜索更多相关主题的帖子: include 
2011-06-25 21:10
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
1. string.h 里涉及到的函数属于内建函数,所以不加 #include <string.h> 也可以。但是会有一个警告。而且为了代码的明晰,最好加上。

2. 经测试不会出现楼主所说的现象。而且,初始化一个字符串应该写称 char str[20] = ""; 不要加 { }。不然读代码的人会以为是初始化字符串数组。
   至于为什么加了 { } 也一样能编译我不了解,但是建议楼主不要这样写代码。
2011-06-25 22:54
ab6326795
Rank: 2
等 级:论坛游民
帖 子:91
专家分:56
注 册:2010-11-8
收藏
得分:0 
回复 2楼 voidx
谢谢 你的讲解!!!!!!!!!!!!!!!!

测试第二个的时候要按我截图上面输入的字符输入才会出现那样的问题,我用的是VS2005
2011-06-26 10:37
ab6326795
Rank: 2
等 级:论坛游民
帖 子:91
专家分:56
注 册:2010-11-8
收藏
得分:0 
回复 2楼 voidx
你说“不要要加{},不然读代码的人会以为是初始化字符串数组。"

其实这是一样的,我初始化的就应该是数组吧?只有数组才能装下数组,谭浩强的《C程序设计》里就写了初始化字符数组的几种方法,其中就有:

1.char c[]="I am happy";

2.char c[]={"I an happy"};


这应该都是正确的吧
2011-06-26 10:44
weiwei555
Rank: 5Rank: 5
来 自:中国
等 级:职业侠客
帖 子:179
专家分:323
注 册:2011-3-4
收藏
得分:0 
回复 4楼 ab6326795
你说的对!学习了
2011-06-26 12:00
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
回复 4楼 ab6326795
char str[];    // 这个是定义一维字符型数组,初始化的正确形式应该是 char str[] = "hello"; 或 char str[] = {'h','e','l','l','o',0};
2011-06-26 12:10
ravenliang
Rank: 1
等 级:新手上路
帖 子:4
专家分:4
注 册:2011-6-18
收藏
得分:0 
1.char c[]="I am happy";  //c[]=c[10]   这个没问题

2.char c[]={"I an happy"};    //c[]=c[1],而且这个c[0]指向某个指针,这个指针指向"I an happy"????


以上.................求证

新手,学过标准C8年却从未有过实践机会......
2011-06-26 19:40
风生钧起
Rank: 4
来 自:江西
等 级:业余侠客
帖 子:383
专家分:246
注 册:2011-7-26
收藏
得分:0 
学C8年却末操作过 吓~~~~~~~~

墨一世红颜倾醉己    霁天谁与话风流

修仙``````````````````````````````````````````````
2011-07-29 08:34
快速回复:请教下这个问题。。。。。。。。。。。。。。。。。。。。。。。。。。 ...
数据加载中...
 
   



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

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