gpt4 book ai didi

c - 类型 'char *' 但参数的类型为 'char' 并且数据未打印到文件

转载 作者:行者123 更新时间:2023-11-30 20:21:33 25 4
gpt4 key购买 nike

大家好,我在第 51 行收到警告“格式指定类型“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 }

最佳答案

似乎在第 41 行。您声称以 %s 格式打印 c 字符串(类型 char *),但给出了 char参数,即 name[p]symbol[p]。选择使用 %c 打印单个 char 或将 namesymbol 作为参数。

关于c - 类型 'char *' 但参数的类型为 'char' 并且数据未打印到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42503947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com