desta vez usou: int main(main) e não: int main (void) eu ainda não vi se explica essa diferença mais à frente mas gostava de saber porque é que desta vez usou assim.
eu usei int main() e nada alterou ou seja rodou normal imprimindo na tela o que eu determinei. o comando entre colchetes pode ter alterações em outras funções eu acho vou continuar estudando. estou apenas começando.
21 de março de 2014 às 06:40
Anônimo disse...
A linha int main(main) deve ter sido erro de digitação
Concordo com o Usuário acima deve ter sido erro de digitação pois já foi corrigido.
porém eu tenho uma dúvida e se pudesse me explica eu ficarei muito grato por esclarecer minha curiosidade Meu sétimo programa em C - C Progressivo! "linha em branco" Process returned 43 (0x2B) execution time : 0.004 s Press ENTER to continue. que é esta, o que ou qual é o significado de (0x2B) notei que ele muda conforme eu vou compilando ou o tamanho do programa vá aumentando
6 de julho de 2014 às 14:26
Anônimo disse...
void segnifica "vazio", portanto () e (void) são a mesma coisa, já q o primeiro parenteses esta vazio e no segundo esta escrito vazio.
Não, não está. main() e main(void) são coisas diferentes.
Sim, num exemplo simples e tranquilo como este, vai ter exatamente o mesmo efeito, assim como na maioria dos exemplos e códigos para estudo.
Agora imagine uma aplicação mais complexa, que exija segurança, um sistema mais robusto com o mínimo de falhas.
Você usar main() vai estar dando a abertura para que seu código receba dados pela main vindo de fora, dados estes que podem ser maliciosos.
Porém, se você usar main(void), sua main não vai receber NADA, podem até tentar enviar, mas não passa, pois assim você deixa bem claro que seu código não precisa de nenhum dado vindo de fora, como parâmetros pela main.
É sempre interessante escrevermos, mesmo desde os exemplos mais simples e básicos, de uma maneira menos vulnerável. Pode não fazer muita diferença agora, mas esse hábito se torna essencial e diferenciador caso queiram seguir por um caminho mais profissional no mundo da programação.
Igor Oliveira da Silva, para o computador, tudo o que retorna e que não é 0, é erro. O "return 0;" serve para dar o retorno 0 ao computador. Se você não colocar isso, ao instalar, o computador do usuário pode perguntar se o programa foi instalado corretamente.
1 de maio de 2015 às 17:06
Anônimo disse...
O 'main(void)' pode ser escrito, também, nas formas 'float main(void), char main(void), double main(void)' ou não???
o codeblock nao esta aceitando os comentários com barras, apresenta a mensagem de erro: expected expression before "/" token e na linha seguinte error: stray '\343' in program.
O (Ox2B) que você utilizou no exemplo, é o endereço de memória utilizado pelo programa durante uma determinada execução escrito no padrão Hexadecimal. Por isso a cada execução do programa, o dado entre parenteses é alterado.
O return serve para enviar algum dado para o endereço de memória responsável pela chamada da função.
Opa tenho uma dúvida a respeito de comentários, escrevi um texto no code blocks assim: ///Letra (a): ler uma string de até 20 caracteres. Minha intenção era só aumentar a visibilidade do texto, para explicar o código que fiz, já que escrevendo com duas barras //, fica difícil ler de longe, e depois que explicasse eu colocaria // novamente, mas mesmo com as 3 barras o texto mudou de cor cinza que é a cor padrão para um comentário para a cor azul, rodei o programa e funcionou normalmente sem que o texto atrapalhasse o resto do código, pode me explicar se:
char resposta[1000]; int escolha;
printf("isso também é um comentário?"); printf("Escolha (1)SIM (2)NÂO: "); scanf("%d", &escolha);
if ( escolha == 1) { printf("Qual a diferença entre os dois tipos de comentários com /?: "); gets(resposta); } else printf("Então o que seria esse comando ///?: "); gets(resposta);
Boa noite !! Quero parabenizá-los pelo trabalho de vcs! Muito bom!! Neste ano 2019 faço 60 anos e vou aprender C e os responsáveis por isso são vcs. Comecei hj e está dando tudo certo, até assustei minha esposa qdo bipou o computador rsrs! Vida longa a vcs, com muita sabedoria!!
Ótima postagem!⠀Vai me ajudar na escrita de um artigo que estou publicando. vlw!
14 de agosto de 2021 às 11:40
[Image]A medida que seus códigos na linguagem C forem aumentando, eles ficarão incrivelmente difíceis de serem entendidos por outra pessoa.
Sim, futuramente seu código será lido/alterado por outra pessoa, provavelmente você.
Para facilitar esse processo, você pode fazer 'comentários' em seus programas de C, explicando o que cada trecho de código faz.
Além de serem importantes, são considerados uma boa prática de programação. Então, se você quer ser um bom programador C, deixe seus códigos comentados e bem explicados.
Comentando códigos em C - Usando //
Imagine agora que você precisa fazer um comentário de mais de 20 linhas.
Isso é bem comum entre estudantes que estão resolvendo alguma questão e colam o enunciado e idéia da solução no corpo do código.
E aí, vai escrever 20 vezes as duas barras // ?
Claro que não, use os delimitadores '/*' e '*/'.
Tudo o que você quer ver comentando coloca entre /* e */, e tudo que será dentro será ignorado.
A diferença desses delimitadores para as duas barras //, é que as barras ignoram o que tem naquela linha, já os delimitadores /**/ ignoram TUDO que estejam entre eles, seja uma letra, linha ou milhões de linhas.
Veja um exemplo que possui dezenas de linhas entre os delimitadores /**/, mas ao compilarmos e executarmos esse código em C, somente o printf é que faz realmente algo:
#include <stdio.h>
int main()
{
/* Adoro estudar a linguagem de programação C enquanto escuto metal!
Iron Maiden - Fear Of The Dark
I am a man who walks alone
And when I'm walking in a dark road
At night or strolling through the park
When the light begins to change
I sometimes feel a little strange
A little anxious when it's dark
Fear of the dark, fear of the dark
I have a constant fear that something's always near
Fear of the dark, fear of the dark
I have a phobia that someone's always there
Have you run your fingers down the wall
And have you felt your neck skin crawl
When you're searching for the light?
Sometimes when you're scared to take a look
At the corner of the room
You've sensed that something's watching you
Fear of the dark, fear of the dark
I have a constant fear that something's always near
Fear of the dark, fear of the dark
I have a phobia that someone's always there
Have you ever been alone at night
Thought you heard footsteps behind
And turned around and no one's there?
And as you quicken up your pace
You'll find it hard to look again
Because you're sure that someone's there
Fear of the dark, fear of the dark
I have a constant fear that something's always near
Fear of the dark, fear of the dark
I have a phobia that someone's always there
Watching horror films the night before
Debating witches and folklores
The unknown troubles on your mind
Maybe your mind is playing tricks
You sense, and suddenly eyes fix
On dancing shadows from behind
(2x)
Fear of the dark, fear of the dark
I have constant fear that something's always near
Fear of the dark, fear of the dark
I have a phobia that someone's always there
When I'm walking in a dark road
I am a man who walks alone */
printf("Colocamos a letra da música Fear of the Dark, da banda Iron Maiden - mas voce nao viu !)\n");
}
Use comentários com moderação
Embora seus comentários não prejudiquem o funcionamento de seu programa em C, evite usar ele desnecessariamente, comentando printf e outras coisas óbvias: 'agora exibimos a mensagem', 'agora somamos os números' etc.
Use comentários para explicar o que é o programa, para que serve, qual a utilidade de um algoritmo que é mais complexo, elaborado ou grande.
postado por Programação Progressiva às 17:37 em 25 de nov. de 2012
19 Comentários
Fechar esta janela Ir para formulário de comentáriodesta vez usou:
int main(main)
e não:
int main (void)
eu ainda não vi se explica essa diferença mais à frente mas gostava de saber porque é que desta vez usou assim.
Bom curso
Cumps sapofree
11 de fevereiro de 2014 às 07:20
eu usei
int main()
e nada alterou ou seja rodou normal
imprimindo na tela o que eu determinei.
o comando entre colchetes pode ter alterações em outras funções eu acho
vou continuar estudando.
estou apenas começando.
21 de março de 2014 às 06:40
A linha
int main(main)
deve ter sido erro de digitação
19 de junho de 2014 às 16:41
Concordo com o Usuário acima deve ter sido erro de digitação pois já foi corrigido.
porém eu tenho uma dúvida e se pudesse me explica eu ficarei muito grato por esclarecer minha curiosidade
Meu sétimo programa em C - C Progressivo!
"linha em branco"
Process returned 43 (0x2B) execution time : 0.004 s
Press ENTER to continue.
que é esta, o que ou qual é o significado de (0x2B) notei que ele muda conforme eu vou compilando ou o tamanho do programa vá aumentando
6 de julho de 2014 às 14:26
void segnifica "vazio", portanto () e (void) são a mesma coisa, já q o primeiro parenteses esta vazio e no segundo esta escrito vazio.
23 de agosto de 2014 às 17:00
Sim, Anônimo, void significa vazio, o que não quer dizer que main() e main(void) sejam a mesma coisa.
Usando main(), estamos permitindo que a função main possa receber qualquer número de parâmetros.
Usando main(void) estamos deixando claro que esta função não irá receber nenhum parâmetro.
23 de agosto de 2014 às 17:23
Penso q o anônimo está certo... não existe diferença, senão pelo acréscimo de mais um token.
6 de setembro de 2014 às 02:11
Não, não está.
main() e main(void) são coisas diferentes.
Sim, num exemplo simples e tranquilo como este, vai ter exatamente o mesmo efeito, assim como na maioria dos exemplos e códigos para estudo.
Agora imagine uma aplicação mais complexa, que exija segurança, um sistema mais robusto com o mínimo de falhas.
Você usar main() vai estar dando a abertura para que seu código receba dados pela main vindo de fora, dados estes que podem ser maliciosos.
Porém, se você usar main(void), sua main não vai receber NADA, podem até tentar enviar, mas não passa, pois assim você deixa bem claro que seu código não precisa de nenhum dado vindo de fora, como parâmetros pela main.
É sempre interessante escrevermos, mesmo desde os exemplos mais simples e básicos, de uma maneira menos vulnerável. Pode não fazer muita diferença agora, mas esse hábito se torna essencial e diferenciador caso queiram seguir por um caminho mais profissional no mundo da programação.
7 de setembro de 2014 às 10:20
alguem me explique o que é o return.
14 de novembro de 2014 às 09:09
Igor Oliveira da Silva, para o computador, tudo o que retorna e que não é 0, é erro. O "return 0;" serve para dar o retorno 0 ao computador. Se você não colocar isso, ao instalar, o computador do usuário pode perguntar se o programa foi instalado corretamente.
1 de maio de 2015 às 17:06
O 'main(void)' pode ser escrito, também, nas formas 'float main(void), char main(void), double main(void)' ou não???
27 de abril de 2016 às 09:11
o codeblock nao esta aceitando os comentários com barras, apresenta a mensagem de erro: expected expression before "/" token e na linha seguinte error: stray '\343' in program.
Alguém pode ajudar? Com os delimitadores esta ok.
20 de julho de 2016 às 18:38
Marivaldo Cordeiro,
O (Ox2B) que você utilizou no exemplo, é o endereço de memória utilizado pelo programa durante uma determinada execução escrito no padrão Hexadecimal. Por isso a cada execução do programa, o dado entre parenteses é alterado.
O return serve para enviar algum dado para o endereço de memória responsável pela chamada da função.
Att, Saul
7 de agosto de 2017 às 14:37
Opa tenho uma dúvida a respeito de comentários, escrevi um texto no code blocks assim:
///Letra (a): ler uma string de até 20 caracteres.
Minha intenção era só aumentar a visibilidade do texto, para explicar o código que fiz, já que escrevendo com duas barras //, fica difícil ler de longe, e depois que explicasse eu colocaria // novamente, mas mesmo com as 3 barras o texto mudou de cor cinza que é a cor padrão para um comentário para a cor azul, rodei o programa e funcionou normalmente sem que o texto atrapalhasse o resto do código, pode me explicar se:
char resposta[1000];
int escolha;
printf("isso também é um comentário?");
printf("Escolha (1)SIM (2)NÂO: ");
scanf("%d", &escolha);
if ( escolha == 1) {
printf("Qual a diferença entre os dois tipos de comentários com /?: ");
gets(resposta);
}
else
printf("Então o que seria esse comando ///?: ");
gets(resposta);
return 0;
27 de novembro de 2017 às 07:09
Muito Bom!!!
24 de fevereiro de 2018 às 17:31
Boa noite !!
Quero parabenizá-los pelo trabalho de vcs! Muito bom!!
Neste ano 2019 faço 60 anos e vou aprender C e os responsáveis por isso são vcs. Comecei hj e está dando tudo certo, até assustei minha esposa qdo bipou o computador rsrs! Vida longa a vcs, com muita sabedoria!!
4 de fevereiro de 2019 às 14:57
Oi, sabe me dizer como eu faço a quebra de linha automática nos comentários?
Quero colar um texto mas sempre cai tudo numa linha só
25 de março de 2019 às 10:38
Ctrl + ; muda o texto da linha para comentário no Dev C++
1 de junho de 2019 às 06:36
Ótima postagem!⠀Vai me ajudar na escrita de um artigo que estou publicando. vlw!
14 de agosto de 2021 às 11:40