0
在C中如何在使用两种不同数据类型的printf语句中使用条件运算符?我希望下面的代码每次遇到偶数时不打印任何零而不打印零。我还希望能够在遇到特定数字时打印字符串。如何使用条件运算符打印整数或字符串值
我试过类型铸造(字符)列表[我],但会导致不兼容的类型转换,因为printf语句需要一个整数。
仅打印奇数值
int fail = 0;
int list[] = {1, 2, 3, -1, 4};
int size = sizeof(list)/sizeof(list[0]);
for(int i = 0; i < size; i++) {
if(list[i] == -1) {
break;
}
printf("%d\n", (list[i] % 2 == 0) ? (i) : (fail));
}
为什么不使用'if'语句在相应的'printf'语句之间进行选择? –
您可以使用相同的'?'运算符在“%s”和“%d”之间作为格式说明符字符串进行选择... – bruceg
如何?操作符在格式说明符中工作? – Yawn