写了这段代码,不知道为什么它不能正常工作
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main (int argc, char *argv[]){
int i=1;
//this is where i started loop read file.
for (i=1; i<argc;i++){
FILE *file1 = fopen("argv[i]","r");//reading file
FILE *file2 = fopen("even.txt","w");//making even file
FILE *file3 = fopen("odd.txt","w");//odd file
//These are the files i am reading and writing to.
int nums;
Main looping
while (file1 != EOF)
{
fscanf (file1,"%d",&nums);
nums++;
//adding the conditions to what i want each file to have.
if (num % 2 == '0'){
fprintf (file2,"%d",nums);
}
//if condition fails move the numbers to the Odd file.
else {
fprintf (file3,"%d",nums);
}
//I tried the loops here but ut gave me segment error.
}
//closing all files
fclose (file1);
fclose (file2);
fclose (file3);
}
return 0;
}
答案 0 :(得分:0)
修改以下行以与integer.
if (num % 2 == '0') // This is wrong, you are comparing `int` with `character`
{
fprintf (file2,"%d",nums);
}
将其更改为;
if (num % 2 == 0) // This is wrong, you are comparing `int` with `character`
{
fprintf (file2,"%d",nums);
}
希望这有帮助。