一位朋友告诉我有一种方法可以在printf 不修改原始void功能的情况下进行检查.
但我看不出你怎么做.
#include<stdio.h>
void test()
{
int a = 1;
int b = a;
}
main()
{
printf("%d",test());
}
Run Code Online (Sandbox Code Playgroud)
我不断得到
错误:无效使用void表达式
有办法吗?
我从你的编辑中看到你想要在不修改函数的情况下这样做.您可以使用逗号运算符在以下位置进行函数调用printf:
#include <stdio.h>
void test()
{
int a = 1;
int b = a;
}
main()
{
printf("%d\n", (test(), 0));
// or even this, to be more explicit:
printf("%s\n", (test(), "test() was called."));
}
Run Code Online (Sandbox Code Playgroud)
逗号运算符计算第一个操作数 - 在本例中为函数调用 - 并丢弃结果,然后计算第二个操作数,结果是整个表达式的结果.