所有,
我来自java和php世界所以这可能是一个因素.但我有一个问题:
printf("%s\n",data[0]);
if(data[0] == "BG01") {
printf("%s\n",otherstring);
}
Run Code Online (Sandbox Code Playgroud)
问题是第一个printf在控制台"BG01"中返回,但由于某种原因,IF条件没有接收到它,第二个printf永远不会被执行.
这张照片出了什么问题?
谢谢,goe
Toa*_*oad 12
你现在这样做的方式是你要比较2个指针而不是它们指向的字符串.这些指针可以指向相同的值,但位于内存中非常不同的位置,因此不是真的.
这样做的方法是使用strcmp(string1,string2)函数来检查字符串本身而不是指针.
在C中,你必须使用strcmp(),就像你必须.equals()在Java中使用一样:
if (strcmp(data[0], "BG01") == 0) ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
316 次 |
| 最近记录: |