一位朋友告诉我,如果没有修改原始printf
功能,就可以通过void
进行检查。
但我看不出你怎么做。
#include<stdio.h>
void test()
{
int a = 1;
int b = a;
}
main()
{
printf("%d",test());
}
我一直在
错误:无效使用void表达式
有办法吗?
答案 0 :(得分:8)
我从你的编辑中看到你想要在不修改功能的情况下这样做。您可以使用逗号运算符在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."));
}
逗号运算符计算第一个操作数 - 在本例中是函数调用 - 并丢弃结果,然后计算第二个操作数,结果是整个表达式的结果。
答案 1 :(得分:0)
一个例子是将内存指针传递给void函数,并用你需要的数据填充它,看看你的void函数是否有效。
void
test_funtion(bool *answer)
{
answer = false;
// do stuff
if(error happens)
return;
answer = true;
return;
}
我不知道如何使用printf来让程序知道。 只有这样才能为自己使用printf进行可视化记录,而不是机器。