%* s格式Ç
回答
您的示例格式错误,“嵌套”printf
缺少参数。
如果你写这样的:
printf("%d",printf("%*s%*s",6,"",6, ""));
如果变成一种确定。 *
表示必须从printf
的下一个参数中读取精度字段。因此,在这种情况下,所述“嵌套” printf
打印至多长度的两个字符串6.
printf
由于返回写入的字符数,内printf
返回12,其中外printf
打印。从人页的相关部分
引用:
精度
可选的精度,在后跟一个可选的十进制数字字符串的期间(“”)的形式。 而不是一个十进制数字字符串可以写“*”或“* m $”(对于某些十进制整数m)来指定 精度分别在下一个参数或第m个参数中给出,其中必须有 为int类型。如果精度仅为'。',或者精度为负值,则精度为 为零。这给出了d,i,o,u,x和X转换中出现的最小数字位数,a,e,E,f和F组合的基数字符后出现的位数 版本,g和G转换的有效数字的最大数目或字符的最大数目 要从s和S转换的字符串打印。
我不知道怎么便携本的,但我敢肯定的是,有更好的方法将两个数字相加。
感谢您的帮助 – Akash
printf
返回打印的字符的数目。其余的应该是显而易见的。
-1,我们知道你是最权威的天才,但你应该认识到,并不是每个人都像你一样聪明。 – BlackBear
对不起,我很匆忙。我希望这是作者需要了解“12”来自哪里的所有内容。不过现在我不打算改进我的答案,因为其他人已经做得很好。 –
作为宽度说明符的A *表示宽度作为参数传入。
printf("%*s%*s", 6, "", 6, "");
等同于:
printf("%6s%6s", "", "");
这将打印出12位。
printf
由于返回打印的字符的数目,它会返回12.
原始代码中缺少最后的“”参数。如果它有效,那纯粹是偶然的。
- 1. 格式符 - %s%S
- 2. Ç的fscanf输入格式
- 3. Ç - 非定格式串旗
- 4. “%s”%格式与“{0}”。format()vs“?”格式
- 5. S URL URL生成函数覆盖Ç
- 6. Lisp代码(s表达式)格式化
- 7. 泰勒公式Ç
- 8. '%s`中的's`是什么意思在字符串格式?
- 9. Ç编程格式“%s”的期望输入“字符*”,但参数2具有“字符* [50]
- 10. 格式 '%s' 的预期类型 '的char *'
- 11. 使用%1 $ s格式化文件名
- 12. 超过了文件格式限制(s)
- 13. 格式()中的{!s}何时有意义?
- 14. 字符串格式化进/出用%s
- 15. Lua的怪癖与S:格式()
- 16. Java字符串格式:“%0”和“d%s”
- 17. fmt.Println打印出格式动词,如%s
- 18. 使用%s格式与升压::格式的std :: string
- 19. Ç的fscanf通过模式
- 20. %(模式对(s))?
- 21. MySQL REGEXP +空格(\ s)
- 22. ç
- 23. ç
- 24. ç
- 25. ç
- 26. ç
- 27. Ç -
- 28. 正则表达式\\ s *,\\ s *做什么?
- 29. 正则表达式(\ S +?)vs(\ S +))
- 30. 正则表达式for(... Excludes-> \([\ s \ S] + \)...)?
您正在寻找的术语是“嵌套的”。如果你谷歌“嵌套printf”,你会发现很多信息..因为你没有提出一个明确的问题,所以很难回答。 – Niclas
@Niclas:谢谢.. – Akash