问题描述:使用C从文件中读取整数以将其添加到数组中。但是,当我尝试打印数组时,我得到的是打印地址。
解决方案: 在C语言中,数组名代表数组的首地址。因此,当您尝试打印数组时,实际上打印的是数组的首地址。
要打印数组中的元素,您需要遍历数组并逐个打印每个元素。以下是一个示例代码:
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int arr[MAX_SIZE];
int size = 0;
// 从文件中读取整数并添加到数组中
FILE *file = fopen("input.txt", "r");
if (file == NULL) {
printf("无法打开文件\n");
return 0;
}
while (fscanf(file, "%d", &arr[size]) != EOF) {
size++;
}
fclose(file);
// 打印数组中的元素
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
在上述代码中,我们首先定义了一个大小为MAX_SIZE
的整数数组arr
,并初始化了一个变量size
来记录数组中的元素个数。
然后,我们使用fopen
函数打开名为input.txt
的文件,并逐个读取整数并将其添加到数组中,直到文件结束。
最后,我们使用一个循环遍历数组,并使用printf
函数打印数组中的每个元素。
请注意,上述代码仅为示例,您需要根据实际情况进行适当的修改和错误处理。
推荐的腾讯云相关产品:腾讯云对象存储(COS)
请注意,以上推荐的腾讯云产品仅供参考,您可以根据实际需求选择适合的产品。
领取专属 10元无门槛券
手把手带您无忧上云