Kur*_*aum 2 c string compare strcmp
所以我有以下测试代码:
#include <string.h>
#include <stdio.h>
int main(int argc, char* argv[]){
int retVal = strcmp("", "");
printf("%d\n", retVal);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
对我来说,它似乎总是打印出0,即""和""总是相等.但我很好奇.这是由strcmp保证的,还是它有可能因实现而异?也许我只是偏执狂,但我已经研究了很多奇怪的系统来了解不同实现的危险.
更新:我决定澄清以证明我的偏执.我在我的程序中真正做的更类似于:
#include <string.h>
#include <stdio.h>
int doOperation(const char* toCompare){
//do stuff in here
int compResult = strcmp(toCompare, "");
//do more stuff depending on compResult
}
int main(int argc, char* argv[]){
const char* myString = "";
doOperation(myString);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我想确保doOperation中的内容能够正确进行.请注意,这只是一个例子.在我的doOperation函数中,我不会真正知道它的值toCompare.
| 归档时间: |
|
| 查看次数: |
141 次 |
| 最近记录: |