1
resposta

[Dúvida] Duvida no terminal quando executa o C

Bom dia! Gostaria de entender por que sai três respostas no terminal, quando executo esse código:


#include <stdio.h>

int main() {

printf("Hello World!\\n");
return(0);

}
PS C:\Users\Gamer\Documents\Faculdade\exercicios C> cd 'c:\Users\Gamer\Documents\Faculdade\exercicios C\output'
PS C:\Users\Gamer\Documents\Faculdade\exercicios C\output> & .\'teste.exe'
Hello World!\n 
PS C:\Users\Gamer\Documents\Faculdade\exercicios C\output> cd 'c:\Users\Gamer\Documents\Faculdade\exercicios C\output'
PS C:\Users\Gamer\Documents\Faculdade\exercicios C\output> & .\'teste.exe'
Hello World!
PS C:\Users\Gamer\Documents\Faculdade\exercicios C\output> cd 'c:\Users\Gamer\Documents\Faculdade\exercicios C\output'
PS C:\Users\Gamer\Documents\Faculdade\exercicios C\output> & .\'teste.exe'
Hello World!\n
PS C:\Users\Gamer\Documents\Faculdade\exercicios C\output>
1 resposta

Oi, Rebeca! Tudo bem?

Para estarmos recebendo três respostas diferentes no terminal, muito provavelmente estamos executando o código 3 vezes. Somado a isso, em relação às duas barras invertidas (\) antes do "n" no comando printf, como o caractere de barra invertida () é um caractere de escape, o que significa que ele é usado para introduzir sequências de caracteres especiais, quando usamos duas barras invertidas (\), estamos dizendo ao compilador para tratar a segunda barra invertida como um caractere literal de barra invertida, e não como o início de uma sequência de escape.

Dessa forma, quando escrevemos "Hello World!\n", o compilador interpreta isso como a string "Hello World!\n", o que explica por que vemos "Hello World!\n" como saída em algumas de suas execuções. Assim, para imprimir apenas "Hello World!" seguido de uma quebra de linha todas as vezes, devemos usar apenas uma barra invertida antes do "n", da seguinte forma: printf("Hello World!\n");

Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!