Criei um código que deveria encontrar o zero da função. Mas, deve ser aplicado 21 vezes (valores diferentes). Fiz as matrizes que indicam tais valores, mas não consigo fazer o código percorrer as matrizes. O resultado sempre apresenta os valores para quando 'n=0'.  'n' foi declarado como uma variável global.    #include <stdio.h> #include <stdlib.h>  #include <math.h>  int n = 0;  double f(float o)       {                   double q[21]= {388.07341, 418.81479, 442.16885, 462.16931, 480.01095, 496.37744, 511.99764, 525.99764, 541.28612, 555.60796, 570.77167, 593.81948, 616.10838, 639.92981, 648.86987,  658.60439, 666.37960, 672.93722, 677.64320, 677.64320, 677.64320};               double p[21]= {131.31613, 141.60402, 148.87696, 155.24767, 161.23076, 166.96861, 171.67016, 179.48304, 187.87701, 191.80595, 202.06493, 225.74231, 258.89635, 286.37328, 301.45585, 317.76931, 334.90509, 353.95479, 375.74816, 404.68645, 420.15252};               double f[21]= {0.00022, 0.00068, 0.00124, 0.00192, 0.00275, 0.00376, 0.00494, 0.00659, 0.00910, 0.01179, 0.01553, 0.02290, 0.03279, 0.04229, 0.04697, 0.05168, 0.05684, 0.06319, 0.07201, 0.08735, 0.09867};             return (q[n] - o * pow (1 + 2.25*f[n]*f[n] - 2*1.5*f[n]*cosh ((3*p[n])/(2*o)),1/2));        }     main ()  { int i, maxi; i=1;  maxi=30;  float a,b, med, E; a=300; b=1000; E= 0.0001;  while ((n=!20)) { do {     med=(a+b)/2;        if (f(a)*f(med)<0)             {  b=med; }         else            {    a=med; }      i++;       }while (((b-a)>E) || (i<=maxi));   printf(" Ponto %d \nA raiz esta entro o intervalo %f e %f\n Sendo aproximadamente %f\n Foram necessarias %d iteracoes\n\n\n",n, a, b, med, i);    n++;   }      system ("pause"); } [/codebox]    É possível incrementar o valor de uma variavel global??  Por favor alguém me ajude!!