有条件的`printf`语句

Eya*_*l C 1 c printf text-formatting

有没有办法缩短这个:

if (a > 0)
    printf("%d", a);
else
    printf("%d", -a);
Run Code Online (Sandbox Code Playgroud)

我的意思是,有没有办法printf?运算符在里面写这一切?

Riz*_*123 6

这应该适合你:

printf("%d", (a > 0? a: -a));
Run Code Online (Sandbox Code Playgroud)

输入输出:

 5 -> 5
-5 -> 5
Run Code Online (Sandbox Code Playgroud)

一个小测试程序:

#include<stdio.h>

int main() {

    int a = -5, b = 5;

    printf("%d\n", (a > 0? a: -a));
    printf("%d\n", (b > 0? b: -b));

    return 0;

}
Run Code Online (Sandbox Code Playgroud)