Eu simplesmente não sei de onde ele vem.
Eu simplesmente não sei de onde ele vem.
Oioi Gabriel, tudo bem com você?
Peço desculpas pela demora em te dar um retorno.
Quando estamos trabalhando com strings, entendemos elas como uma sequência de caracteres que representam palavras, frases, textos, etc. Na linguagem C, a string é criada através de um vetor de caracteres e pode ser declarada de diversas formas, sendo uma das possíveis maneiras, essa que você declarou. Só que tem um detalhe: o último caractere da string declarada deve sempre ser o caractere nulo \0
(barra zero), pois ele informa para o programa que aquela string está sendo finalizada naquele momento.
O que está acontecendo é que sua declaração, não foi colocado o caractere \0
, o que faz com que o programa não entenda que a string foi finalizada e coloque um caractere aleatório no final da sua string, como foi possível verificar a adição do “d”. Podemos corrigir isso adicionando manualmente esse caratere, como mostrado no código a seguir:
Código:
#include <stdio.h>
int main(){
char palavrasSecretas[20];
palavrasSecretas[0]='M';
palavrasSecretas[1]='E';
palavrasSecretas[2]='L';
palavrasSecretas[3]='A';
palavrasSecretas[4]='N';
palavrasSecretas[5]='C';
palavrasSecretas[6]='I';
palavrasSecretas[7]='A';
palavrasSecretas[8] = '\0';
printf("%s",palavrasSecretas);
}
Resultado:
MELANCIA
Process returned 0 execution time : 0.034 s
Press any key to continue.
Perceba que o resultado da string passou a mostrar apenas aqueles caracteres adicionados no programa, fazendo com que seu código passe a funcionar corretamente :)
Caso tenha interesse em saber mais sobre a linguagem C, te recomendo o curso C III: recursos avançados da linguagem. Caso queira se aprofundar na Linguagem C++ e orientação a objetos, recomendo a formação Linguagem C++ na alura!
Em caso de dúvidas, me coloco à disposição.
Grande abraço e bons estudos!