你好,我是这个论坛的新手,我是一名学习c ++的学生!我很方便与cout<<出于输出的目的,但现在我想使用printf。
cout<<((2>1)"yes":"no")<<"hello";
在一个cout语句中使用这两个是可能的,但是可以使用printf。 我的意思是尝试以下但它失败了!错误!
printf ( (2>1)?"yes":"no" );// this gives the output yes but
printf ( ((2>1)?"yes":"no") ("hello") );//this did not
printf ( ((2>1)?"yes":"no") "hello" );// neither did this.
答案 0 :(得分:3)
使用单个格式字符串,然后根据您的条件选择参数值:
printf("%s %s", (2 > 1) ? "yes" : "no", "hello");
或只是:
printf("%s hello", (2 > 1) ? "yes" : "no");
答案 1 :(得分:2)
printf("%s %s", ((2>1)?"yes":"no"), "hello");
会给出相同的输出。
答案 2 :(得分:-1)
编译器的预处理器将合并由空格分隔的静态字符串,因此以下将起作用
printf(
"Now is the time "
"for all good men "
"to come to the aid "
"of their country."
);
没有括号。没有逗号。只是静态引号(空格,制表符,cr,lf)之间的空格