spork1on
(usa Ubuntu)
Enviado em 11/10/2013 - 16:48h
Olá!
recentemente comecei a estudar C pelo livro 'Linguagem C' de Luís Damas.
Minha pergunta pode ser bem simples, mas pelo que aprendi até então eu não consegui resolver a situação. Então aí vai:
Eu sempre escrevi os programas do livro no notepad++ e compilava com o gcc (MinGW), porque eu utilizava windows.
Recentemente mudei para o Ubuntu, então passei a utilizar o gedit e compilar com o GNU.
Aí é que vem o problema...
O exercício é o seguinte: "Escreva um programa que solicite um inteiro (entre 0 e 255) ao usuário e mostre o inteiro seguinte e o caractere correspondente.
O código ficou assim(como demonstrado no livro):
--------------------------------------------------------------------------------------------------
#include <stdio.h>
main()
{
int num;
printf("Introduza um Inteiro: "); scanf("%d", &num);
printf("Foi introduzido %d cujo caractere = '%c'\n", num, (char) num);
printf("O caractere seguinte = '%c' e tem o ASCII n. '%d'\n", (char) num + 1, num + 1);
}
---------------------------------------------------------------------------------------------------
No windows, com o MinGW, a compilação ocorria normalmente e era gerado o executável que rodava perfeitamente. (gcc -o prog prog.c)
No Ubuntu, por sua vez, o compilador acusa esta série de erros:
gcc -o prog0214 prog0214gedit.c
prog0214gedit.c: Na função ‘main’:
prog0214gedit.c:5:2: erro: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘printf’
prog0214gedit.c:5:49: erro: ‘num’ undeclared (first use in this function)
prog0214gedit.c:5:49: nota: each undeclared identifier is reported only once for each function it appears in.
Como assim é necessário um caractere daqueles antes do printf?
Porque ele não aceita que a variável 'num' seja indefinida? (porque será captada pelo scanf)
O que está acontecendo de errado?!
VALE RESSALTAR QUE EU ESTOU ESTUDANDO C, E NÃO C++. E que eu sou muito novato ainda hahhaa