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. 如何从C中的命令行参数读取“字符串”?
- 6. 从MPI中的命令行参数读取字符串c
- 7. 解析命令行参数字符串
- 8. 打印第二个命令行参数
- 9. 在C中比较字符串文字命令行参数
- 10. 从命令行打印xhtml?
- 11. 将命令行参数转换为字符串C
- 12. 用java打印数字的命令行参数
- 13. 使用shell命令从URL字符串打印值
- 14. C#打印字符串
- 15. C通用打印数组函数 - 打印字符串数组
- 16. C++命令行字符串像Java?
- 17. 从参数的C#运行命令行?
- 18. 打印多行字符串
- 19. C编程从命令行输入字符串读取整数
- 20. 如何从命令行参数传递字符串功能在C
- 21. C函数为shell命令参数转义字符串?
- 22. 从命令行解密GPG字符串
- 23. CMake错误字符串子命令STRIP“需要两个参数”
- 24. C将字符命令行参数转换为整数数组
- 25. 字符串数组作为maven插件的命令行参数
- 26. 如何从命令行打印文件?
- 27. 命令行参数在C#
- 28. c#命令行参数
- 29. 命令行参数C++
- 30. 命令行参数c
但它是一个空终止的字符串,我只是希望它从偏移量3开始,并保持打印直到空。 那么我将如何实现同样的目标呢? – Fred 2009-12-06 07:04:22
谢谢,我刚刚看到你添加了一些信息给你的评论。 – Fred 2009-12-06 07:05:39