我试图调用一个自写的函数而不处理它的返回值。gcc 在函数调用的那一行告诉我,这将是一个无效的语句。为了检查我的函数是否被调用,我添加了一些 printf 语句,但没有从程序中得到任何输出。
gcc 是否有可能只是忽略函数调用?据我所知,我对这样的陈述从来没有任何问题。
所以这里是代码:
unsigned strlen(char *string)
{
printf("ignored by gcc");
unsigned count = 0;
for(; *string++; count++);
return count;
}
int main()
{
char string[] = "something";
strlen(string);
return 0;
}
提前致谢。