
tlaloc
(usa Gentoo)
Enviado em 07/10/2010 - 19:18h
Cheguei.
Eis o código correto:
--------------------
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int *p;
int num = 55;
p = #
int valor = 30;
*p = valor;
printf("%d\n" ,valor);
printf("O endereço: %p\n" ,p);
printf("Valor da variável apontada: %d\n" ,*p);
printf("Pressione ENTER para terminar: \n");
getchar();
return 0;
}
Agora, só explicando, o system("PAUSE") só funciona com a conio.h, que não está presente no Linux. Que eu lembre, nem padrão ANSI é.
Então, o que eu fiz foi adicionar um printf informando que para terminar o programa deve-se apertar enter. O pressionar do enter é percebido pela função getchar(), que então pula para return 0 e termina o programa.
Para compilar, usando o GCC em linha de comando:
gcc -c programa.c
gcc -o programa programa.o
Ou simplesmente:
gcc -o programa programa.c
mas é interessante saber fazer das duas formas e entender o que é feito em cada comando.
Continuando, as alterações que fiz para que o programa funcionasse:
Defini o valor de 'valor'.
Isso estava embaralhando o coitado do printf, que só consegue ler o valor de variáveis, ao contrário do fprintf que lê registros de entrada (inclusive arquivos).
Definido o valor de 'valor', substituído o system("PAUSE") por getchar() e adicionado um \n no último printf, tá tudo resolvido.
Aqui funcionou perfeitamente.
Como falei beeeeeeeeeem lá no topo, arrogantemente, era erro no código.