C程序中的双数组输出
double array output in C program
我似乎陷入了一个非常简单的问题,但我无法解决它并理解为什么。
下面是我的代码:
#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 return 扫描的元素数。
我想你的意思是:
for (i = 0; i < SIZE; i++){
scanf("%lf", &nums[i]);
}
试试这个,你应该用 scanf 读取变量中的数据,因为 scanf 中的 return 是成功读取的参数列表的项目数:
#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;
}
我似乎陷入了一个非常简单的问题,但我无法解决它并理解为什么。 下面是我的代码:
#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 return 扫描的元素数。
我想你的意思是:
for (i = 0; i < SIZE; i++){
scanf("%lf", &nums[i]);
}
试试这个,你应该用 scanf 读取变量中的数据,因为 scanf 中的 return 是成功读取的参数列表的项目数:
#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;
}