第1个回答 2021-02-23
int a[10];
char b[10];
其中a的类型是const int * 常量整形指针
其中b的类型是const char *常量字符指针,二者都是指针。
我猜想你的疑惑在于:scanf("%d", &a[0]); scanf("%s", b);
这是对于scanf的实现问题了,对于%s输入的是字符串,是一串字符。
而%d则输入的仅仅是一个字符。
如果想在b[0]输入一个字符的话, 那么也需要:scanf("%c", &b[0]);
所以综上所述:
对于数组的单个元素输入的时候,a[0], b[0]都需要加&
(其实scanf的输入参数都应该是 地址)
2. scanf对于字符串的输入有了特权,允许通过%s输入多个字符