当前位置: 代码迷 >> C语言 >> [求助]C语言的问题2
  详细解决方案

[求助]C语言的问题2

热度:269   发布时间:2006-09-09 09:23:00.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 ("我不是");

}
就这么简单.


----------------解决方案--------------------------------------------------------
以下是引用zhangpri98在2006-9-9 0:16:53的发言:
改成“”也不对呀
是不是还有哪错了呀

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

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

其实处理你的问题很简单,只要 if(strcmp(p,a)==0) printf("我也是");else printf("我不是");
----------------解决方案--------------------------------------------------------
原来是这么回事
谢谢个位了~!~!~!
----------------解决方案--------------------------------------------------------

  相关解决方案