C 语言中 %s 格式化说明符用于打印和读取字符串。printf() 函数使用 %s 打印字符串变量,如 printf("名字:%s\n", "约翰")。scanf() 函数使用 %s 从用户读取字符串,如 scanf("%s", name);。需要注意的是,字符串变量必须具有足够的内存,%s 不接受带空格的字符串,且在 scanf() 中使用 %s 时不要使用 & 字符。

C 语言中 %s 用法
在 C 语言中,%s 格式化说明符用于打印字符串。它是 printf() 函数和 scanf() 函数中常用的格式化说明符。
语法
printf("格式化字符串", %s, 字符串变量);scanf("格式化字符串", %s, 字符串变量);
立即学习“C语言免费学习笔记(深入)”;
用法
- printf() 中的 %s: 用于打印字符串变量的值。例如:
<code class="c">char name[] = "约翰";
printf("名字:%s\n", name);</code>输出:
<code>名字:约翰</code>
- scanf() 中的 %s: 用于读取字符串输入并将其存储在字符串变量中。例如:
<code class="c">char name[20];
scanf("%s", name);</code>用户输入 "约翰" 后,name 中将包含 "约翰" 字符串。
注意事项
- 字符串变量必须具有足够的内存来存储输入的字符串。
- %s 不接受带有空格的字符串。要读取带空格的字符串,可以使用 gets() 函数或 fgets() 函数。
- 在 scanf() 中使用 %s 时,不要使用 & 字符。例如:
<code class="c">char *name = NULL;
scanf("%s", &name); // 错误,将导致未定义行为</code>正确的方式是:
<code class="c">char name[20];
scanf("%s", name);</code>











