My code
#include <stdlib.h>
#include <stdio.h>
int main()
{
int i=0;
int j=0;
size_t count=0;
float numbers[20][100];
float velocity[21][101];
char *line = NULL;
FILE *myFile;
myFile = fopen("vel.txt", "r");
if (myFile == NULL)
{
printf("Error Reading File\n");
exit (0);
}
while(i < 20 && getline(&line, &count, myFile)!=-1) {
int len = 0, pos = 0;
j = 0;
while(j < 100 && 1 == sscanf(line + pos, "%f%n", &numbers[i][j++], &len))
pos += len;
i++;
}
free(line);
fclose(myFile);
for( i = 0; i < 21; i++ )
for( j = 0; j < 101; j++ )
{
if( i= 1 && j == 1 )
{
velocity[i][j]=numbers[i][j];
}
else if ( i= 1 && j == 101 )
{
velocity[i][j]=numbers[i][j];
}
else if ( i=1 && j >= 2 && j <= 100)
{
velocity[i][j]=(numbers[i][j-1]+numbers[i][j])/2;
}
else if(i >= 2 && i <= 20 && j == 1)
{
velocity[i][j]=(numbers[i-1][j]+numbers[i][j])/2;
}
else if(i >= 2 && i <= 20 && j == 101)
{
velocity[i][j]=(numbers[i-1][j]+numbers[i][j])/2;
}
else if(i >= 2 && i <= 20 && j >= 2 && j <= 100) //means i goes from 2,20 j goes from 2,100
{
velocity[i][j]=(numbers[i-1][j]+numbers[i][j]+numbers[i][j]+numbers[i][j])/4;
}
else if( i= 21 && j == 1 )
{
velocity[i][j]=numbers[i][j];
}
else if ( i=21 && j >= 2 && j <= 100)
{
velocity[i][j]=(numbers[i][j-1]+numbers[i][j])/2;
}
else
{
velocity[i][j]=numbers[i][j];
}
}
return 0;
}
I can compile this with gcc but then exe is runnin gforever.So something is wrong.I try to debug like this
Breakpoint 1, main () at a1.c:11
11 char *line = NULL;
(gdb) c
Continuing.
Breakpoint 2, main () at a1.c:35
35 if( i= 1 && j == 1 )
(gdb) c
Continuing.
Breakpoint 2, main () at a1.c:35
35 if( i= 1 && j == 1 )
(gdb) c
Continuing.
Breakpoint 2, main () at a1.c:35
35 if( i= 1 && j == 1 )
(gdb) n
39 else if ( i= 1 && j == 101 )
But I am total beginner,what does this breakpoint tells me?