fgets(buf, sizeof(buf) - 1, stdin); // NULL文字で終わらせる余裕を持つ為に1バイト少なめにする buf[sizeof(buf) - 1] = '\0'; // バッファの最後にNULL文字入れて文字列として安全な状態にする sscanf(buf,"%f%s",&a,S); // Sのサイズは大丈夫? sscanf(buf,"%f%16s",&a,S); // こうすると最大でも16文字までしか取り込まない事になる