哪位大神给看一下这个题目,谢谢!!
下面程序有七处错误,麻烦哪位大神给看一下程序行后面的句子是我自己写的答案,但是不全,如果有错误,希望大神给指出注:函数strcmp比较两个字符串,如果相同就返回0,否则值就不等于0
#include <stdlib.h>
#include <stdia.h>
#include <string.h>
int main(int argc, char *argv) { argv前面两个**
FILE *fp;
char *key = "hugo";
char *fileName = argv;
char s;
double *value = 0.0;
int zeilen == 0; 0前面一个=
//Sicherheitsabfrage:
if (argc < 2) {
printf("Fehler: Falsche Anzahl an Konsolenargumenten!");
ret 1; 改为return 1
}
/Datei öffnen:
fp = open (fileName, "r");
//Sicherheitsabfrage:
if(!fp) {
printf("Datei kann nicht geoeffnet werden");
return 1;
}
/*Anzahl der Zeilen lesen:*/
fscanf (FILE, "%d\n", &zeilen);
//Keys und Values verarbeiten;
for (int i=0;i < zeilen;i++)
{
fscanf (fp,"%s %lf\n",s,&value);
prints ("%s %lf\n",s,*value); 改为printf
if(strcmp(s,key) = 0) {//vergleichen, ob Strings identisch sind 0前面两个==
fclose (fp) ,
break;
}
}
//Value ausschreiben;
printf ("Der gesuchte Wert entspricht %lff ", value ); 改为%lf
return 0;
}
#include <stdlib.h>
#include <stdia.h>
#include <string.h>
int main(int argc, char *argv) { argv前面两个**
FILE *fp;
char *key = "hugo";
char *fileName = argv;
char s;
double *value = 0.0; //指针没有小数值,要么double value = 0.0;要么 double* value = 0;
int zeilen == 0; 0前面一个=
//Sicherheitsabfrage:
if (argc < 2) {
printf("Fehler: Falsche Anzahl an Konsolenargumenten!");
ret 1; 改为return 1
}
/Datei öffnen:
fp = open (fileName, "r"); //C语言中没有名为 open 的库函数,改为 fopen
//Sicherheitsabfrage:
if(!fp) {
printf("Datei kann nicht geoeffnet werden");
return 1;
}
/*Anzahl der Zeilen lesen:*/
fscanf (FILE, "%d\n", &zeilen);
//Keys und Values verarbeiten;
for (int i=0;i < zeilen;i++)
{
fscanf (fp,"%s %lf\n",s,&value); //如果上面是 double value则这里不用改,如果上面是double* value这里改为 value(不需要取址符)
prints ("%s %lf\n",s,*value); 改为printf //同理,如果上面是double value,改为 value;如果上面是double* value 则这里不用改
if(strcmp(s,key) = 0) {//vergleichen, ob Strings identisch sind 0前面两个==
fclose (fp) ,
break;
}
}
//Value ausschreiben;
printf ("Der gesuchte Wert entspricht %lff ", value ); 改为%lf //这里value也和上面要一致
return 0;
}
页:
[1]