Ajuda com a compilação do GCC em C89 [closed]

0

Eu tenho que compilar o código em C89 para classe, eu escrevi este código para ver se ele iria compilar. Eu compilo usando

gcc -std=c89 -pedantic

#include<stdio.h>

int main(void)
{
    int number;

    printf("%p", &number);
}

este código seria compilado muito bem em um sistema com o gcc versão 4.1.2, mas em uma máquina com a versão 5.3 (Ubuntu 5.3), ele me daria o erro

warning:format '%p' expects argument of type 'void *', but argument 2 has type 'int *' [-Wformat=]

Se alguém puder me dar um trabalho, eu realmente aprecio isso. Obrigado

    
por Sil 02.07.2016 / 05:51

1 resposta

2

% p espera um vazio *, portanto, transmitir para void * fará o truque.

#include <stdio.h>

int main(void)
{
    int number;

    printf("%p", (void *)&number);
}
    
por Colin Ian King 02.07.2016 / 12:28