Por que tenho que declarar a variável "existe" dentro de "WHILE"?
É o mesmo principio da função, só existe dentro da repetição?
Por que tenho que declarar a variável "existe" dentro de "WHILE"?
É o mesmo principio da função, só existe dentro da repetição?
Exatamente essa ideia, como ela é declarada dentro do while, cada vez que a execução passa naquela linha o código entende que precisa alocar memória para a variável chamada existe e atribuir para ela o valor de false. É como se eu estivesse voltando o valor da variável para falso.
Essa é uma das formas de se fazer. Se você declarar a variável fora do while tem que lembrar de antes de percorrer novamente a lista de ingredientes para verificar se ele já existe de atribuir o valor para falso, caso contrário pode acontecer um erro lógico. O erro lógico será o lixo de memória de verdadeiro para a variável existe resultante do ingrediente inserido anteriormente.