我目前使用的是valgrind-3.10.0.SVN,gcc 4.8.2和Ubuntu 14.04。這是在我的文件中的代碼foo.c
Valgrind混淆了strcmp()的返回值,爲什麼?
#include <stdio.h>
#include <string.h>
int main()
{
char foo[] = "Foo";
char bar[] = "Bar";
printf("%d\n", strcmp(foo, bar));
}
我用這個命令編譯:
gcc foo.c -o foo
這些是執行命令和輸出:
./foo
4
valgrind ./foo
1
爲什麼Valgrind的影響的輸出我strcmp()函數?
'strcmp'沒有保證返回值,它是0,小於零,或大於零。 –
@CosminMihai不,並且沒有。 – juanchopanza