请教一个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().