scanf ("% [^ \ n] s", a) vs recebe (a)
Foi-me dito que o scanf não deve ser usado quando o usuário insere uma string. Em vez disso, vá para gets () pela maioria dos especialistas e também pelos usuários do StackOverflow. Eu nunca perguntei no StackOverflow por que não se deve usar o scanf over gets para strings. Esta não é a pergunta real, mas a resposta a esta pergunta é muito apreciada.
Agora, vamos à pergunta real. Me deparei com esse tipo de código -
scanf("%[^\n]s",a);
Isto lê uma string até que o usuário insira um novo caractere de linha, considerando os espaços em branco também como strin
Existe algum problema se eu usar
scanf("%[^\n]s",a);
em vez de recebe?
@Is fica mais otimizado do que a função scanf, por mais que pareça, o gets é puramente dedicado a lidar com strings. Por favor, deixe-me saber sobre isso.
Atualiza
Est link @ me ajudou a entender melho