Programar em C/Entrada e saída simples: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Linha 330:
}
 
A notação <tt>char buffer[10]</tt>, que ainda não foi introduzida (e será detalhada na seção [[Programar em C: Vetores|Vetores (arrays)]]), pede que seja reservado um espaço para 10 caracteres para a string <var>buffer</var>. Portanto, se usuário digitar mais de 9 caracteres (pois o terminador de string é adicionado ao que o usuário digitou), os caracteres excedentesadicionaisexcedentes adicionais serão colocados na área de memória subsequente à ocupada pela variável, escrevendo uma região de memória que não está reservada à string. Este efeito é conhecido como "estouro de buffer" e pode causar problemas imprevisíveis. Por isso, não se deve usar a função gets(); mais tarde introduziremos a função fgets(), que não apresenta esse problema e que deve ser usada no lugar de gets().
 
== <tt>sprintf()</tt> e <tt>sscanf()</tt> ==