c语言用scanf对数组进行输入
时间: 2023-05-20 07:04:01 浏览: 134
可以使用以下代码对数组进行输入:
```c
#include <stdio.h>
int main() {
int arr[10];
int i;
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
printf("您输入的数组为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
以上代码中,我们使用了 `scanf` 函数对数组进行输入,每次输入一个整数,然后将其存储到数组中。最后,我们使用 `printf` 函数将输入的数组输出到屏幕上。
相关问题
对c语言中对数组进行scanf赋值可以整体输入吗
可以,C语言中也可以通过一次输入多个元素的方式来对数组进行赋值。具体方法是使用格式化字符串,将输入的多个元素用空格、逗号等分隔符隔开,然后使用`scanf()`函数读入整个字符串,并使用`sscanf()`函数从字符串中解析出每个元素的值,最后将这些值依次赋给数组的相应元素。
下面是一个示例代码,它从键盘读入5个整数,并将它们存储在数组`arr`中:
```c
#include <stdio.h>
#define N 5
int main()
{
int arr[N];
char buf[100];
int i;
printf("请输入%d个整数,用空格或逗号隔开:", N);
fgets(buf, sizeof(buf), stdin);
sscanf(buf, "%d,%d,%d,%d,%d", &arr[0], &arr[1], &arr[2], &arr[3], &arr[4]);
printf("输入的数组为:\n");
for (i = 0; i < N; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
在上面的代码中,程序使用`fgets()`函数从标准输入读入一行字符串,然后使用`sscanf()`函数从字符串中解析出5个整数,并将它们依次赋给数组`arr`的相应元素。需要注意的是,在格式化字符串中使用了逗号分隔符,因为在输入时使用了逗号分隔符。如果输入时使用空格分隔符,那么格式化字符串中应该使用空格分隔符。
c语言数组元素使用scanf输入需要取地址符号吗,使用scanf对数组元素进行一个个赋值时,什么时候需要&,什么时候不需要
在 C 语言中,当你使用 `scanf` 函数向数组元素输入数据时,通常不需要直接使用取地址符 `&`。这是因为 `scanf` 需要的是变量的地址以便读取其存储的内容,而不是数组名本身。
例如,如果你有一个整数数组 `int arr[5]`,你可以这样给每个元素赋值:
```c
#include <stdio.h>
int main() {
int arr[5];
for (int i = 0; i < 5; i++) {
scanf("%d", &arr[i]); // 直接输入数字到数组的第i个元素
}
return 0;
}
```
在这里,`&arr[i]` 就相当于指明了数组 `arr` 中第 `i` 个位置的内存地址,`scanf` 将读入的数据放到了那个特定的位置。
然而,有一种情况例外,当你想给数组整体传递一个指针,并让 `scanf` 指针指向整个数组范围时,可以使用 `&`,比如在函数接受数组作为参数的时候:
```c
void inputArray(int* arr, int size) {
for (int i = 0; i < size; i++) {
scanf("%d", arr + i); // 这里使用了地址加法操作,相当于给每个元素赋值
}
}
int main() {
int arr[5];
inputArray(arr, sizeof(arr) / sizeof(arr[0])); // 传递整个数组的地址
//...
return 0;
}
```
在这个例子中,`arr + i` 返回的是数组中下标为 `i` 的元素的地址,因此可以直接传给 `scanf`。
阅读全文
相关推荐














