在C语言中,如何';重新初始化&x27;一个变量,并在while循环的每次迭代中使用它?
基本上,我试图找到我正在解析的文件的每一行中所有数字的平均值。我很快就能找到解决办法了。我成功地读取了所有的数字,“加法”在第一次迭代中效果很好,但是在第一次迭代之后,这些数字被加到上一次迭代的总和中。有没有一种方法可以简单地重用同一个变量,在一次迭代后打印其值,然后将其初始化为0,并在下一次迭代中再次使用它,等等。?下面是我想要得到的示例(在伪代码中,我不要求将其打印到控制台): 以下是我现在掌握的代码:在C语言中,如何';重新初始化&x27;一个变量,并在while循环的每次迭代中使用它?,c,string,parsing,while-loop,C,String,Parsing,While Loop,基本上,我试图找到我正在解析的文件的每一行中所有数字的平均值。我很快就能找到解决办法了。我成功地读取了所有的数字,“加法”在第一次迭代中效果很好,但是在第一次迭代之后,这些数字被加到上一次迭代的总和中。有没有一种方法可以简单地重用同一个变量,在一次迭代后打印其值,然后将其初始化为0,并在下一次迭代中再次使用它,等等。?下面是我想要得到的示例(在伪代码中,我不要求将其打印到控制台): 以下是我现在掌握的代码: #include <stdio.h> #include <stdlib
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main(int argc, char *argv[]){
int i = 0;
int x = 0;
char *token;
char line[300];
char s[2] = ",";
FILE *fp = fopen(argv[1], "r");
while(fgets(line, 299, fp)){
token = strtok(line, s);
while(token!=NULL){
x = x + atoi(token);
printf("%s\n", token);
printf("%d\n", x);
token = strtok(NULL, s);
}
}
#包括
#包括
#包括
#包括
int main(int argc,char*argv[]){
int i=0;
int x=0;
字符*令牌;
字符行[300];
字符s[2]=“,”;
文件*fp=fopen(argv[1],“r”);
而(fgets(第299行,fp)){
令牌=strtok(行,s);
while(令牌!=NULL){
x=x+atoi(令牌);
printf(“%s\n”,标记);
printf(“%d\n”,x);
令牌=strtok(空,s);
}
}
我知道我很接近,只需要一点提示。我不是要你复制和粘贴解决方案,而是要给我一个提示来帮助我完成它。谢谢。在内部循环之前或之后添加x=0
while(fgets(line, 299, fp)){
token = strtok(line, s);
while(token!=NULL){
x = x + atoi(token);
printf("%s\n", token);
printf("%d\n", x);
token = strtok(NULL, s);
}
x=0;
}
在内部循环之前或之后添加x=0
while(fgets(line, 299, fp)){
token = strtok(line, s);
while(token!=NULL){
x = x + atoi(token);
printf("%s\n", token);
printf("%d\n", x);
token = strtok(NULL, s);
}
x=0;
}
在内部循环之前或之后添加x=0
while(fgets(line, 299, fp)){
token = strtok(line, s);
while(token!=NULL){
x = x + atoi(token);
printf("%s\n", token);
printf("%d\n", x);
token = strtok(NULL, s);
}
x=0;
}
在内部循环之前或之后添加x=0
while(fgets(line, 299, fp)){
token = strtok(line, s);
while(token!=NULL){
x = x + atoi(token);
printf("%s\n", token);
printf("%d\n", x);
token = strtok(NULL, s);
}
x=0;
}
将
x=0
设置在内部之前而不是更早。将x=0
设置在内部之前而不是更早。将x=0
设置在内部之前而不是更早。将x=0
设置在内部之前而不是更早。W哦,这行得通。真不敢相信我还没想到呢。谢谢!没问题,你差一点就错过了一行哇。这行得通。真不敢相信我还没想到呢。谢谢!没问题,你差一点就错过了一行哇。这行得通。真不敢相信我还没想到呢。谢谢!没问题,你很外向梅莉·克洛斯刚刚错过了一行哇。这很管用。真不敢相信我竟然没有想到这一点。谢谢!没问题,你差一点就错过了一行