读书人

请问一个C语言字符串有关问题?

发布时间: 2012-03-09 16:54:57 作者: rapoo

请教一个C语言字符串问题??
#include "stdio.h "
void show(char *str);
void main()
{
show( "dark ");
}
void show(char *str)
{
if(str== "dark ")
printf( "English\n ");
else
printf( "French\n ");
}

用Turbo C2.0 和Turbo C++3.0编译器输出是: French
用VS2003编译器输出是: English

请教是什么原因??
我的本意是在Turbo C++3.0上输出 English,如何做??


[解决办法]
用 strcmp 比较
[解决办法]
搂主的比较是比较地址,相等不相等,要看编译器.
如果要实现楼主要求,用 strcmp函数
[解决办法]
#include "stdio.h "
#include <string.h>
void show(char *str);
void main()
{
show( "dark ");
}
void show(char *str)
{
if(!strcmp(str, "dark "))
printf( "English\n ");
else
printf( "French\n ");
}
[解决办法]
字符串比较不能直接用==来比较
[解决办法]
楼主也是一位新手吧!这是新手常犯的错误!在C语言中没有字符串内置类型。要比较字符串只能用系统函数strcmp().

读书人网 >C++

热点推荐