需要
在使用scanf函数读取整型数组时,需要在变量前加上&符号。这是因为scanf函数需要变量的地址来存储输入的数据。例如,如果你有一个整型数组int arr;
,在使用scanf函数时,你需要这样写:
scanf("%d", &arr);
这里的&arr
表示获取数组第一个元素的地址,scanf函数通过这个地址将输入的数据存储到数组中。同理,对于数组的其他元素,也需要使用&
来获取地址:
scanf("%d", &arr);
scanf("%d", &arr);
// 以此类推
字符数组的情况
对于字符数组,情况有所不同。例如,如果你有一个字符数组char str;
,用于输入字符串时,不需要在数组名前加&
符号:
scanf("%s", str);
这是因为字符数组名本身就是数组首元素的地址,系统会自动寻址存储输入的字符串。但是,如果输入单个字符,则需要使用&
符号:
scanf("%c", &str);
总结
- 整型数组:整型数组的每个元素都需要独立的存储空间,因此需要提供每个元素的地址。
- 字符数组:字符数组用于存储字符串时,数组名本身就是首元素的地址,系统会自动寻址存储输入的字符串。但输入单个字符时,需要提供字符的地址。