C 以下程序中有什么问题?
我已经开始编写一个新的短程序来训练如何处理文件,但我没有理解程序中的错误所在。代码如下:C 以下程序中有什么问题?,c,file,command,C,File,Command,我已经开始编写一个新的短程序来训练如何处理文件,但我没有理解程序中的错误所在。代码如下: int main(){ int temp; FILE *fp; fp = fopen("questions.txt", "r"); if(fp == NULL){ printf("Datei konnte NICHT geöffnet werden.\n"); }else { printf("Datei konnte geöffn
int main(){
int temp;
FILE *fp;
fp = fopen("questions.txt", "r");
if(fp == NULL){
printf("Datei konnte NICHT geöffnet werden.\n");
}else {
printf("Datei konnte geöffnet werden.\n");
int a = 0;
char s[100];
char s2[100];
int fragen = 0;
int rantworten = 0;
while((temp = fgetc(fp)) != EOF){
if(temp == '\n'){
if(a > 0){
printf("\n");
scanf("%99s", &s2[0]);
int b = strcmp(s, s2);
if(b == 0){
printf("\nRichtige Antwort\n");
fragen ++;
rantworten++;
}else{
printf("\nFalsche Antwort\n");
fragen++;
}
}
a++;
}
if(a % 2 == 0){
printf("%c", temp);
}else {
strcat(s, temp);
}
}
printf("Von %d Fragen waren %d richtig!", fragen, rantworten);
fclose(fp);
}
return 0;
}
以下是输出:
Datei konnte ge÷ffnet werden.
Wie hei├ƒt der h├Âchste Berg?
Process returned -1073741819 (0xC0000005) execution time : 3.047 s
Press any key to continue.
如您所见,程序不进入scanf
命令
如果您需要它,这里是文本文档:
Wie heißt der höchste Berg?
Mount Everest
In welchem Jahr erklärten die Vereinigten Staaten von Amerika ihre Unabhängigkeit?
1776
非常感谢您的每一个回答。看起来您还没有正确设置字符集(请参见
setlocale
)。非常感谢您这是错误:D