C 使用fprintf写出数组
我在文本文件中写入双精度数字数组时遇到问题。问题是,代码会运行,但不会写出任何内容C 使用fprintf写出数组,c,arrays,C,Arrays,我在文本文件中写入双精度数字数组时遇到问题。问题是,代码会运行,但不会写出任何内容 #include <stdio.h> #include <stdlib.h> int main() { FILE *out; double numbers[30]; int i=0; for(i;i<30;i++) scanf("%lf", &numbers[i]); out=fopen("o
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *out;
double numbers[30];
int i=0;
for(i;i<30;i++)
scanf("%lf", &numbers[i]);
out=fopen("out.txt", "w");
if (out == NULL) {
fprintf(stderr, "error in opening .txt");
exit(EXIT_FAILURE);
}
while ( i<30 ) {
fprintf(out, "%.3f", numbers[i]);
i++;
}
fclose(out);
return 0;
}
#包括
#包括
int main(){
归档;
双数[30];
int i=0;
对于(i;i您忘记将i
重新初始化为0,因此i
的当前值为30,这有效地导致while
循环无法执行
您忘记将i
重新初始化为0,因此i
的当前值为30,这实际上会导致while
循环不执行
您忘记将i
重新初始化为0,因此i
的当前值为30,这实际上会导致while
循环不执行
您忘记将i
重新初始化为0,因此i
的当前值为30,这实际上会导致while
循环不执行
你能添加标记“C”吗?你忘了在第一个循环后将i设置回零。是的,添加i=0;在while前面(i<30)在这种情况下,使用“for”-比while循环更好。重置i
。在scanf
周围使用大括号,并检查返回值哇,嗯,是的,它工作了,我很尴尬……你能添加标记“C”吗?你忘记在第一个循环后将i设置回零。是的,添加i=0;在while之前(i<30)在这种情况下,使用“for”-比while循环更好。重置i
。在scanf
周围使用大括号,并检查返回值哇,嗯,是的,它工作了,我很尴尬……你能添加标记“C”吗?你忘记在第一个循环后将i设置回零。是的,添加i=0;在while之前(i<30)在这种情况下,使用“for”-比while循环更好。重置i
。在scanf
周围使用大括号,并检查返回值哇,嗯,是的,它工作了,我很尴尬……你能添加标记“C”吗?你忘记在第一个循环后将i设置回零。是的,添加i=0;在while之前(i<30)在这种情况下,使用“for”-比while循环更好。重置i
。在scanf
周围使用大括号,并检查返回值哇,嗯,是的,它工作了,我很尴尬。。。。。
i = 0; //Re-initialise i.
while ( i<30 ) {
fprintf(out, "%.3f", numbers[i]);
i++;
}
for (i = 0; i < 30; ++i)
fprintf(out, "%.3f", numbers[i]);