C 这个简单的代码有什么问题?

C 这个简单的代码有什么问题?,c,C,我知道这可能是一个简单的错误,但我仍然无法找出错误。我越来越 输出整数时,指针地址而不是值 #include<stdio.h> int main(){ char s1[100]; int words,lines,chara = 0; FILE * fp; fp = fopen("fox.txt","r"); if(fp==NULL){ printf("Can't open file"); } el

我知道这可能是一个简单的错误,但我仍然无法找出错误。我越来越

输出整数时,指针地址而不是值

#include<stdio.h>

int main(){

    char s1[100];

    int words,lines,chara = 0;


    FILE * fp;

    fp  = fopen("fox.txt","r");

    if(fp==NULL){
        printf("Can't open file");
    }
    else{
        while (fscanf(fp,"%s",s1) != EOF){

            words++;

        //  printf("%s",s1);
            }

    }
        printf("There are %d of words",words);
}
输出:

There are 2665625 of words
单词没有初始化,因此从未定义的值开始递增

int words,lines,chara = 0;
将chara设置为0,但不初始化其他变量。如果你想初始化所有3个,你需要

int words = 0, lines = 0, chara = 0;
单词没有初始化,因此从未定义的值开始递增

int words,lines,chara = 0;
将chara设置为0,但不初始化其他变量。如果你想初始化所有3个,你需要

int words = 0, lines = 0, chara = 0;
您没有初始化变量

int字=0

未初始化的变量将具有垃圾值。

您没有初始化变量

int words,lines,chara = 0;
int字=0

未初始化的变量将具有垃圾值

int words,lines,chara = 0;
此行声明了3个变量,但只初始化了chara

稍后在循环中开始递增单词,但尚未初始化。它有一个未定义的值

int words,lines,chara = 0;
您只需执行以下操作即可纠正此问题:

int words = 0, lines = 0, chara = 0;
此行声明了3个变量,但只初始化了chara

稍后在循环中开始递增单词,但尚未初始化。它有一个未定义的值

int words,lines,chara = 0;
您只需执行以下操作即可纠正此问题:

int words = 0, lines = 0, chara = 0;

该死的,我怎么会错过的,真丢脸,我怎么会错过的,真丢脸