我对 sscanf 例程中的参数感到困惑
#include <string.h>
char sentence[20];
char first_name[7];
char last_name[7];
int age;
strcpy(sentence, "aaaaaa bbbbbb 20");
sscanf(sentence, "%s %s %d", first_name, last_name, &age);
为什么 char 数组不需要 & 前缀但整型变量需要?
谢谢
最佳答案
C 中的字符串是一个字符序列,后跟一个 '\0' 字符。 C 中数组的名称是初始元素的地址。因此,对于单个整数,您需要添加“&”以传递要存储 int 的地址。
关于c - 为什么 sscanf 需要 & %d 整数而不是 %s 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38654097/