Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jaime Delano

Erros de Declaração em C

Recommended Posts

Olá, pessoal.

 

Sou um iniciante em C. Alguém pode ver o código abaixo e me apontar os possíveis erros?

Estou usando o tipo long long pra armazenar números grandes, mas ao declarar duas arrays desse tipo, as variáveis read e write ganham números maiores do que o esperado no primeiro loop (queira analizar abaixo) - apenas quando acrescento long long int writecount[5] = { 0 }.

 


int
main(int argc, char *argv[])
{

int delay = 1;
int count = 0;
int limit = 5;
int index = 0;
long long io = 0;
long long read = 0;
long long write = 0;

long long int value = 0;
long long int average = 0;
long long int readcount[5] = { 0 };
long long int writecount[5] = { 0 };
//long long readavg = 0;
//long long writeavg = 0;

while (limit == -1 || count++ < limit)
{
io = get_stats(&read, &write);
printf ("I/O: %8llu\n", io);
printf ("Read: %8llu\n", read);
printf ("Write: %8llu\n", write);
printf ("Count: %d\n", count);

readcount[count] = read;
//writecount[count] = write;
//printf ("Now: %llu\n", writecount[count]);
if (count > 1) {
index = count - 1;
printf ("Index: %d\n", index);
value = readcount[count] - readcount[index];
printf ("Read diff: %llu\n", value);

//readavg += value;
//value = writes[count] - writes[index];
//printf ("Write diff: %llu\n", value);
//writeavg += value;
}

if (count != limit) sleep(delay);
}
/*average = readavg / (limit - 1);
printf ("Read avg: %llu\n", average);
average = writeavg / (limit - 1);
printf ("Write avg: %llu\n", average);*/

return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa incluir os headers (stdio.h) e definir a função get_stats. Sem o resto do código não dá p/ tentar achar o erro via execução.

Também seria bom explicar o que o programa deveria fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.