我目前使用的是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