我在使用printf说明符时遇到了一些问题......所以在问你们之前,我几乎读了所有关于C++Reference page的东西,但是不能解决问题,而且因为我是新手,甚至无法理解问题,所以最有可能的语法错误,但我找不到它...格式 - 说明符语法错误?
for(i = 1; i <= 10; i++) {
printf("\n%d.%s%n",i,names[i-1],offset);
printf("%*s%.2f TL",10-offset," ",prices[i-1]);
}
所以基本上我有这个代码来打印一个列表,我想价格从同一列开始。 对于如:
- 水1.00
- OJ 1.00
后面我的代码逻辑(柜面不是很明显,我无法判断它是)是:
- 打印标识号和名称,统计我们迄今为止编写的字符数量并将其分配给偏移量。
- 打印(起始价格表的列)价格
前偏移处的空间,一旦我无法得到我想要的结果,我检查,发现了偏移3所有名称是不是这样的(并且在此过程之前没有赋值偏移量)。
感谢您的帮助!
PS:这是一个练习代码,目的是为了更好地使用说明符。
编辑: 所以我这样做:
for(i=1;i<=10;i++)
{
printf("%d.%s%n",i,names[i-1],&offset);
printf("%*s%.2f TL\n",10-offset," ",prices[i-1]);
}
但我得到的结果是巨大的空黑屏幕命令。
printf是C,首选的构造是cout << ...;'在C++中。 – hd1
我很困惑,是的即时通讯工作在c上,但由于C++参考页面上有一个C++参考指南,我认为这里可以问一下 – user3402183
@ user3402183肯定是。 printf是完全有效的C++。它在标准标题中,参见。标准草案27.9.2。 –