合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻
C语言 scanf 中,%s 不需要加 &
| 格式化符号 | 变量类型 | 是否需要加 & | 原因 |
|---|---|---|---|
| %s | 字符数组 | 不需要 | 数组名本身就是指针,指向数组的首地址。 |
| %c | 字符变量 | 需要 | 字符变量是值类型,需要传递地址以便 scanf 能够修改它的值。 |
| %d | 整数变量 | 需要 | 整数变量是值类型,需要传递地址以便 scanf 能够修改它的值。 |
| %f | 浮点数变量 | 需要 | 浮点数变量是值类型,需要传递地址以便 scanf 能够修改它的值。 |

#include <stdio.h>int main() {char name[12];char sex;printf("请输入姓名和性别:");scanf("%s %c", name, &sex); // name 不需要加 &,sex 需要加 &printf("姓名:%s,性别:%c\n", name, sex);return 0;
}
输入:
Alice F
输出:
姓名:Alice,性别:F
