嘿大家我在51行上得到警告“格式指定类型'char *'但参数的类型为'char'。一个很很难看到哪里来修复这个错误。而且,我的项目未能在新排序的数据打印到我的输出文件。我怎样才能CHANE我的组织,以实现这一目标?类型'char *'但参数的类型'char'也有数据不打印到文件
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include <limits.h>
5
6 int main(void) {
7 const int N=200;
8 char name[N], symbol[N];
9 char printed[N];
10 int atomicNumber[N], n, i, p, j, min;
11 double atomicWeight[N];
12 FILE *fi;
13 FILE *fo;
14
15 fi=fopen("Lab6Elements.txt", "r");
16 if(fi==NULL) {
17 printf("Error opening file.\n");
18 return EXIT_FAILURE;
19 }
20 while(1){
21 n=0;
22 if(EOF == fscanf(fi,"%s%s%d%lf", &name[n], &symbol[n], &atomicNumber[n], &atomicWeight[n])) break;
23
24 printed[n]=0;
25 n++;
26 }
27
28 fo=fopen("OutputData.txt", "w");
29 fprintf(fo, "\n%-15s%4s%5s%10s\n", "Element","Symb","No.","Weight");
30 for(i = 0; i < n; i++){
31 min = INT_MAX;
32
33 for(j = 0; j < n; j++){
34
35 if(!printed[j] && atomicNumber[j]<min){
36 min = atomicNumber[j];
37 p = j;
38
39 }
40
41 fprintf(fo,"%-15s%-4s%5d%10.4lf\n", name[p], symbol[p], atomicNumber[p], atomicWeight[p]);
42
43 printed[p] = 1;
44 }
45
46 }
47 return EXIT_SUCCESS;
48 }
你的程序没有第51行,看到你包含行号... – StoryTeller
也许发布你编译的代码,当你得到那个错误,而不是一些其他的代码... – Lundin
抱歉的错字 –