scanf输入什么时候只加地址不加类型?
时间: 2023-08-03 19:11:37 浏览: 59
在使用 `scanf` 函数时,通常我们需要为每个要输入的变量指定类型,同时在输入时需要加上取地址符 `&`。但是,在以下情况下,我们可以省略类型,只需要加上取地址符即可:
1. 字符串输入:当我们要输入字符串时,可以直接使用 `%s` 格式控制符,而不需要指定字符串的类型,因为字符串本身就是一个字符数组,而字符数组名表示该数组的首地址,因此只需要使用 `&` 取地址符即可。
2. 字符指针输入:与字符串输入类似,如果要输入一个字符指针,可以直接使用 `%s` 格式控制符,并加上取地址符 `&`。
例如:
```
char str[100];
scanf("%s", str); // 省略了字符类型,只加了取地址符
```
```
char *p;
scanf("%s", &p); // 省略了字符类型,只加了取地址符
```
阅读全文