我是C初学者,但在编程时不会太糟糕。我正在用C语言编写一个程序,它根据几个取决于时间的方程来计算一个对象的路径(x,y和z坐标)。然后我想打印这些坐标到一个输出文件,所以我可以绘制它们。现在,我有:将数字打印到C文件中?
double *t;
double *x;
double *y;
double *z;
我做我的计算,并填写x,y和z。然后,我尝试将它们打印到文件:
FILE *outputFile = fopen("path.out", "w");
for (i = 0; i<(sizeof(x)/sizeof(double)); ++i)
char *strX = (char *) *(x+i);
char *strY = (char *) *(y+i);
char *strZ = (char *) *(z+i);
fprintf(*outputFile, *strX);
fprintf(*outputFile, "\t");
fprintf(*outputFile, *strY);
fprintf(*outputFile, "\t");
fprintf(*outputFile, *strZ);
我越来越想每个双转换为一个char *错误的整个混乱,但我不知道为什么。是否有更好的方法来打印双打或将它们转换为char *进行打印?
您在“fprintf(* outputFile,”\ t“)fprintf(* outputFile,* strY)”之间缺少一个分号,您应该编辑以排列打印语句,使其更易于阅读。 – Jim
感谢您的回应,但仍不能解决问题 – laplacian13
您需要将该循环的主体放在大括号中。缩进并不意味着什么,这里只有第一行(带有'strX'的行)实际上在循环内。 –