如何使用printf检查void函数是否成功运行?

Wil*_*Jia -4 c

一位朋友告诉我有一种方法可以在printf 修改原始void功能的情况下进行检查.

但我看不出你怎么做.

#include<stdio.h>

void test()
{
  int a = 1;
  int b = a;
}

main()
{
    printf("%d",test());    
}
Run Code Online (Sandbox Code Playgroud)

我不断得到

错误:无效使用void表达式

有办法吗?

pb2*_*b2q 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."));
}
Run Code Online (Sandbox Code Playgroud)

逗号运算符计算第一个操作数 - 在本例中为函数调用 - 并丢弃结果,然后计算第二个操作数,结果是整个表达式的结果.