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