| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 955 人关注过本帖
标题:请教指针数组的问题……
只看楼主 加入收藏
vs_inzaghi
Rank: 5Rank: 5
来 自:湖北
等 级:职业侠客
威 望:1
帖 子:303
专家分:364
注 册:2009-8-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:16 
请教指针数组的问题……
下面程序是想输出5个字符串中较小的那个,为什么输出不了结果,请大家看看……谢谢
#include<stdio.h>
#include<string.h>
void main()
{
 char str1[20],str2[20],str3[20],str4[20],str5[20];
 char *p[5];
 char *t;
 int i;
 printf("please input the five strings\n");
 scanf("%s,%s,%s,%s,%s",str1,str2,str3,str4,str5);
 p[0]=str1;
 p[1]=str2;
 p[2]=str3;
 p[3]=str4;
 p[4]=str5;
 for(i=0;i<4;i++)
 if(strcmp(p[i],p[i+1])<0);
 {
  t=p[i];
  p[i]=p[i+1];
  p[i+1]=t;
 }
 printf("the min string is %s\n",p[4]);
}
搜索更多相关主题的帖子: 指针 
2010-05-28 01:35
bccn250
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:379
注 册:2010-5-25
收藏
得分:10 
语法错误啦,看看你的代码

#include<stdio.h>
#include<string.h>
void main()
{
char str1[20],str2[20],str3[20],str4[20],str5[20];
char *p[5];
char *t;
int i;
printf("please input the five strings\n");
scanf("%s,%s,%s,%s,%s",str1,str2,str3,str4,str5);
p[0]=str1;
p[1]=str2;
p[2]=str3;
p[3]=str4;
p[4]=str5;
for(i=0;i<4;i++)
if(strcmp(p[i],p[i+1])<0);\\\\\\\\\\\\\\\\\这里多了一个分号哦
{
  t=p[i];
  p[i]=p[i+1];
  p[i+1]=t;
}
printf("the min string is %s\n",p[4]);
}
2010-05-28 04:00
bccn250
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:379
注 册:2010-5-25
收藏
得分:0 
还有我自己的问题,如果楼下有人帮忙回答一下,
上面代码中有这么一句,

scanf("%s,%s,%s,%s,%s",str1,str2,str3,str4,str5);

之后我自己分别显示这五个字符串,却显示为

str1正常

str2显示为 前面一串乱码后面跟str1

str3显示为 前面一串乱码(比str2的乱码更长)后面跟str1

依此类推

真是奇怪,我用的是vc6编译的

谁知道原因,



[ 本帖最后由 bccn250 于 2010-5-28 04:17 编辑 ]
2010-05-28 04:16
vs_inzaghi
Rank: 5Rank: 5
来 自:湖北
等 级:职业侠客
威 望:1
帖 子:303
专家分:364
注 册:2009-8-17
收藏
得分:0 
奇怪啊,是不是我电脑问题啊,那里有个分号我居然可以编译也不提示错误……
不过估计最主要的原因是输入的问题,我想知道能不能像我写的那样输入,会有什么问题……
多谢2楼
期待楼下……

我很懒,但我讨厌别人说我懒……
2010-05-28 07:23
glhz610
Rank: 2
等 级:论坛游民
帖 子:33
专家分:44
注 册:2010-4-4
收藏
得分:5 
楼主的那个代码应该存在问题,对字符串,不能用scanf连续输入,scanf不能输入带空格或回车和跳格字符,因为这些是输入结束标志,否楼主的那个比较大小,最终只会显示第一个空格前的字符串...所以用scanf的话最好分开写

[ 本帖最后由 glhz610 于 2010-5-28 09:57 编辑 ]
2010-05-28 07:43
caoweidong
Rank: 2
等 级:论坛游民
帖 子:15
专家分:11
注 册:2010-5-27
收藏
得分:5 
输入有问题,应该分别输入!
2010-05-28 10:15
caoweidong
Rank: 2
等 级:论坛游民
帖 子:15
专家分:11
注 册:2010-5-27
收藏
得分:0 
补充:或者应该将scanf("%s,%s,%s,%s,%s",str1,str2,str3,str4,str5)语句中的都好去掉,否则输入时应该带上逗号

2010-05-28 10:17
caoweidong
Rank: 2
等 级:论坛游民
帖 子:15
专家分:11
注 册:2010-5-27
收藏
得分:0 
逗号去掉
2010-05-28 10:17
gaoce227
Rank: 4
来 自:山东
等 级:业余侠客
帖 子:134
专家分:218
注 册:2008-4-5
收藏
得分:0 
楼上说的对,因为别的地方都没问题。
2010-05-28 10:22
kelas
Rank: 6Rank: 6
等 级:侠之大者
帖 子:176
专家分:434
注 册:2010-5-28
收藏
得分:0 
确实
2010-05-28 11:14
快速回复:请教指针数组的问题……
数据加载中...
 
   



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

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