标题:[求助]C语言的问题2
只看楼主
Apple_skm
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-8-10
得分:0 

#include<stdio.h>
#include <string.h>
void z(char *p);
int main (void)
{
char num[50];
printf("输入城市名称 \n");
gets(num);
z(num);

return 0;
}
void z(char *p)
{
char a[] = "xuzhou";
if (strcmp (p,a) == 0)
printf ("我也是;\n");
else
printf ("我不是");

}
就这么简单.


2006-09-09 09:23
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
以下是引用zhangpri98在2006-9-9 0:16:53的发言:
改成“”也不对呀
是不是还有哪错了呀

3楼的也不对
输入‘xuzhou’的时候输出 “我也是”
但是我输入‘xuzho’时他也输出“我也是”了

原因是比较xuzhou和xuzho时,前面已经配对好了,但此时p+i已经超出原有数组的上界,但不产生错误,因为p+i还是存在的,只是空间的内容不为我们所知.

其实处理你的问题很简单,只要 if(strcmp(p,a)==0) printf("我也是");else printf("我不是");


倚天照海花无数,流水高山心自知。
2006-09-09 09:43
zhangpri98
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-9-6
得分:0 
原来是这么回事
谢谢个位了~!~!~!

2006-09-09 11:09



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




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

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