Тема: Якийсь баг?
Доброго всім часу доби!
[code=C++]
#include <stdio.h>
#include <conio.h>
int main( void )
{
char string[500];
printf( "wwedi scanf: " );
scanf( "%s", string, sizeof(string) );
printf( "%s\n", string );
printf( "wwedi gets: " );
gets( string );
printf( "%s\n", string );
return 0;
}
[/code]
Прога навить не виконується до кінця, падає. Двогодинне гуглення нічого не зясувало. Не пояснило. Всюди мов Функція gets() зчитує символи з stdin і поміщає їх в масив символів, на який вказує str. Символи зчитуються доти, поки не зустрінеться новий рядок або EOF. Символ «новий рядок» не робиться частиною рядка, а транслюється в нульовий символ, завершиющучий рядок.
У разі успіху gets() повертає str, в іншому випадку вона повертає NULL. У випадку помилки читання вміст масиву, на який вказує str, не визначено.