0
A
回答
6
由于%s
格式说明告诉printf
该参数是一个空终止字符串。您给printf
一个字符 - argv
数组第二个元素中的第四个字符。
如果你想打印从第四个字符的字符串末尾的子串,你可以做到这一点,你只需要得到一个指向该角色:
printf("%s\n", &argv[1][3]);
,或者,如果你喜欢:
printf("%s\n", argv[1] + 3);
2
“%s”表示一个foramt字符串需要一个“字符*”的说法,但你传递一个“字符”等你拿垃圾(可能是崩溃)。格式化字符串中的“%c”需要一个'char'参数,这就是你所给的,所以它的工作原理。
+0
不太可能发生崩溃而不是编译器错误。 GCC(至少)可以对格式化字符串函数进行类型检查,比如'printf'和'scanf'。 – 2010-02-17 21:41:44
相关问题
- 1. C:命令行参数与字符串
- 2. 从多个命令行参数中打印较少的字符串
- 3. curl命令在PHP打印查询字符串参数
- 4. 从C中的命令行参数打印整数
- 5. 命令行参数,打印列和行
- 6. 从MPI中的命令行参数读取字符串c
- 7. 如何从C中的命令行参数读取“字符串”?
- 8. 解析命令行参数字符串
- 9. 用argparse打印命令行参数?
- 10. 打印第二个命令行参数
- 11. 在C中比较字符串文字命令行参数
- 12. 通过命令行字符串循环打印输出字
- 13. 从命令行打印xhtml?
- 14. 读字符串作为命令行参数C++
- 15. 如何比较C中的字符串命令行参数?
- 16. 将命令行参数转换为字符串C
- 17. 用java打印数字的命令行参数
- 18. 使用shell命令从URL字符串打印值
- 19. C++程序将不会打印命令行参数
- 20. C++字符串在多行上打印
- 21. C#打印字符串
- 22. MIPS:从命令行参数中读取字符串
- 23. Java从命令行参数格式化字符串
- 24. 子字符串命令kshell
- 25. C通用打印数组函数 - 打印字符串数组
- 26. Python的命令行参数 - 希望打印错误,无参数
- 27. 从参数的C#运行命令行?
- 28. C++命令行字符串像Java?
- 29. C打印一个字符串数组
- 30. 打印字符串数组元素C++
但它是一个空终止的字符串,我只是希望它从偏移量3开始,并保持打印直到空。 那么我将如何实现同样的目标呢? – Fred 2009-12-06 07:04:22
谢谢,我刚刚看到你添加了一些信息给你的评论。 – Fred 2009-12-06 07:05:39