返回首页

我有一个if语句比较两个IP地址。它总是返回不等于。这里的值。

字符* ADDR2
ipSrc的char [20]

声明...


if (addr2 == ipSrc)

	{

	printf("\n   EQUAL");

	}

else

	{

	printf("\n   NOT EQUAL");

	}

是什么类型或声明?如何才能得到纠正?谢谢。 :7766180 |会员

回答

评论会员:hervebags 时间:2012/02/06
C字符串比较时,它是更好地使用"的strcmp"而不是"=="

你的if语句看起来应该像这样:

{C} 不要忘记包括在顶部的字符串。即:
#include>

"STRCMP"返回一个整数值表示的字符串之间的关系:
零值表示两个字符串是相等的。
A值大于零表示不匹配的第一个字符在str1排在str2的值大于一个值小于零表示相反。 {A}

我也建议你声明ADDR2这样:字符ADDR2 [20]
因为,在你的版本,你正试图转换一个字符串常量字符
评论会员:游客 时间:2012/02/06
。hervebags:对不起,错字错误我的意思是:不要忘记包括在顶部的字符串。即:{体C3}