当我注意到这段代码时,试图找出函数中的堆栈损坏错误:
fprintf( fp, "\n%s %3c %12s %2c %12s %2c %12s %2c %12s %2c"
"%12s %2c %12s",
xys_field[3], x,
xyzFunc(val1, 0), x,
xyzFunc(val2, 0), x,
xyzFunc(val3, 0), x,
xyzFunc(val4, 0), x,
xyzFunc(val5, 0), x,
xyzFunc(val6,0) );
我要问的是这行
"\n%s %3c %12s %2c %12s %2c %12s %2c %12s %2c" "%12s %2c %12s"
,我什至不知道该如何编译,因为我从未见过像这样的两种格式相互遵循。谢谢你的帮助。 最佳答案
这些不是两种格式-请注意缺少逗号,或除空格以外将它们分开的任何方式。这是用于长字符串继续的C语法。在C中,这些等效:
"abc" "def"
"abcdef"
注意,这仅适用于字符串文字。您不能串联字符串变量。这是语法错误:
string1 string2
关于c - 奇怪的C fprintf格式表示法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10585712/