arrays - C程序中的双数组输出
问题描述
我似乎陷入了一个非常简单的问题,但我无法解决它并理解为什么。下面是我的代码:
#include <stdio.h>
#define SIZE 8
int main(void){
int i, j;
double nums[SIZE];
double input;
printf("Enter 8 doubles: ");
for (i = 0; i < SIZE; i++){
nums[i] = scanf("%lf", &input);
}
for (i = 0; i < SIZE; i++){
printf("%lf ", nums[i]);
}
return 0;
}
下面是我得到的结果:
Enter 8 doubles: 1 2 3 4 5 6 7 8
1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
我的代码的主要问题是什么?谢谢!
解决方案
试试这个,你应该用 scanf 读取变量中的数据,因为从 scanf 返回的是成功读取的参数列表的项目数:
#include <stdio.h>
#define SIZE 3
int main(void){
int i, j;
double nums[SIZE];
double input;
printf("Enter 8 doubles: ");
for (i = 0; i < SIZE; i++){
scanf("%lf", &input);
nums[i] = input;// or scanf("%lf", &num[i]);
}
for (i = 0; i < SIZE; i++){
printf("%lf ", nums[i]);
}
return 0;
}
推荐阅读
- python - 如何重新格式化 JSON 文件以包含数组
- python-3.x - Keras 模型适合 ValueError 预期 input_1 比我的数组大小大一个数字
- vb6 - 进度条百分比计算
- build - 针对 Android 和 IOS 问题的 Flutter 构建
- ocaml - 如何用 unit() 包装 OCaml 表达式?
- selenium - 我们如何在 BDD 故事文件输出中显示时间戳
- c++ - 是否有与 `std::string` 一起使用的 `vsnprintf` 的类似函数
- python-3.x - 将线程函数转换为异步
- css - Stylelint - 第一个嵌套块之前的新行
- c# - 将 Nlog 与 Costura Fody 一起使用时如何解决错误