在printf参数列表中使用()。这个语法是什么意思?

时间:2012-10-05 12:32:46

标签: c

我遇到了一个代码:
printf("\tout:\t%-14.14s\n", (sprintf(tmpbuf[0], "[%s]", mystring), tmpbuf[0]));
用sprintf中的那些句子是什么意思?

1 个答案:

答案 0 :(得分:10)

这是一个涉及逗号运算符的表达式,将以下内容放在一行中:

sprintf(tmpbuf[0], "[%s]", mystring);
printf("\tout:\t%-14.14s\n", tmpbuf[0]);

逗号运算符计算两个参数并返回其右参数,即tmpbuf[0]