【发布时间】:2019-10-28 21:13:33
【问题描述】:
我不明白为什么我们不必在 for 循环中打印字符串?在正常情况下,我们需要在 for 循环中打印数组。例如,如果我们要打印整数数组。会是这样的:
int a[n];
for (i = 0; i < n; i++){
printf("%d", a[i]);
}
但是对于像这样的字符串:
char s[100] = " Hello ";
printf("%s\n", s);
写数组名就够了。 编辑:似乎我没有正确地问我的问题,因为你们中的一些人写了与我的问题无关的答案。我编辑我的问题。
【问题讨论】:
-
因为 C 中的字符串以特殊字符
'\0'终止,这让程序知道它在哪里结束。 -
任何体面的初学者教程都应该涵盖这一点。也许您需要更好的书/资源或您正在使用的任何资源。
-
就像其他人所说的那样。如果您在 linux 系统中深入了解 printf(及其相关功能),您应该能够键入“man 3 printf”。或者,you can read about it here.
-
您当然可以这样做,下面提供了许多示例。调用 printf 是有代价的。成本在于 printf 本身。因此,尽可能少地调用 printf 是很好的。您可以尝试逐个字符并一起打印一个大字符串,然后比较它们的速度。
-
还有一个循环但它在
printf()里面。
标签: c string pointers printf size