对c语言中对数组进行scanf赋值可以整体输入吗
时间: 2023-09-13 19:03:49 浏览: 105
可以,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`的相应元素。需要注意的是,在格式化字符串中使用了逗号分隔符,因为在输入时使用了逗号分隔符。如果输入时使用空格分隔符,那么格式化字符串中应该使用空格分隔符。
阅读全文