Problem z programem dotyczącym wskaźników

0

Witam,mam pewien problem.Program kompiluje się,uruchamia i pokazuje następujace wartości tablic z :

0    0    65535    0    0   0

Jednak gdy przeliczam to po kolei ręcznie to wychodzi:

5    1    (tutaj jakakolwiek wartość)      7      3      (-1) 
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>


int main() 
{
	double x[6] = {1, 5, 7, -9, 3, 5};	
	double z[6];			            
        double *pt = x, *pt1=&x[3];	   
                               
    z[0] = *++pt;             
    z[1] = *(pt-1);            
    z[3] = pt[1];              
    z[4] = pt1[2];           
    z[5] = pt-pt1;            
   
    int i;
      for(i=0; i<6; i++)
        printf("%d ", z[i]);
	return 0;
}
0

Próbujesz używać %d jako format dla double co jest błędne. Zmień na %f - %d jest dla int.

Na przyszłość polecam kompilować z flagami -Wall -pedantic, wtedy kompilator wyłapie więcej takich błędów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1