【发布时间】:2012-01-26 23:24:32
【问题描述】:
我不明白 %s 和 d% 在这段 C 代码中做了什么:
for (i=0;i<sizeof(code)/sizeof(char*); i++) {
printf("%s%d%s%d\n", "Length of String ", i, " is ", strlen(code[i]));
str = code[i];
printf("%s%d%s%c\n","The first character in string ", i, " is ", str[0]);
}
我是 C 语言的新手,我的背景是 Java。
-
%s%d%s%d符号表示什么? - 为什么会有这么多?
- 这里是用逗号代替
+吗?
【问题讨论】:
-
你看过 man 3 printf 吗? linux.die.net/man/3/printf
-
传递给
printf的字符串是没有意义的——应该是printf("Length of string %d is %d\n", i, strlen(code[i])); -
所以字符串文字只是表示这些变量的输出在字符串中的位置?这似乎是一种奇怪的做事方式?
-
“里面的参数和Java很不一样。” Java也有
System.out.printf... -
这太有帮助了,谢谢 AusCBloke !!!!!