他の C言語の文字列処理関数と同様に、scanf を使用する際にもバッファオーバーランが発生する可能性がある。例えばchar a[20];scanf("%s", a);というコードがあった場合、a に入力できる文字列は終了文字を除く、19バイトまでしか入力することが出来ず、それ以上の文字列が入力されるとバッファオーバーランが発生する。a の領域が十分であれば問題はないが、しかし入力されてくる文字列の長さを予測することは不可能であり、結局 a の長さをいくら大きくしても、さらにそれを上回る長さの入力が行われてしまえばバッファオーバーランが発生してしまう危険性がある。この問題を防ぐ手段として一般的なのは最大フィールド幅を指定することである。上記の例の場合はchar a[20];scanf("%19s", a);とすることで、aには最初の19バイトが読み込まれ入力を終了する。ただしこの場合は残りの文字列はストリーム上に残ってしまうので実際には以下のようにすることで対処される。char a[20];scanf("%19s%*[^\n]", a);これは19バイト読み込みさらに改行文字までの文字列を空読みすることを意味する。さらに前述の改行コードがストリームに残る問題を考慮するとchar a[20];scanf("%19s%*[^\n]%*c", a);となるが、この場合はaに入る文字列が 19バイト以下の場合には、入力ストリームにやはり改行文字が残る。よって実際には、char a[20];scanf("%19s%*[^\n]", a);getchar();のように入力終了後、改行文字を空読みするなどの方法がとられる。空白文字の取り扱いも考慮する場合char a[20];scanf("%19[^\n]%*[^\n]", a);getchar();となる。バージョン8.0 (2005) 以降のMicrosoft Visual C++コンパイラには、scanf_s() という関数が用意されていて、バッファのサイズを指定することができる。scanf_s はC11規格で標準化されたが、実装は任意である。
scanf は空白とタブは改行文字と同じ区切り文字として扱われる。例えば、char a[20];scanf("%s", a);という方法で文字列を読み込もうとしたとする。このとき入力文字列が "This is a pen" というものだった場合、実引数に入力されるものは "This" までである。これだけでも問題であるが、さらに問題なのは、残りの " is a pen" という文字列はストリーム上に残されてしまうことである。このため次に scanf を呼んだ場合、入力にかかわらず実引数に "is" という文字列を代入しようとしてしまうことになる。これを防ぐ手段としてはscanf("%[^\n]", a);という方法がとられる。この場合は改行文字以外の文字列を全て a に代入するため、a には空白やタブも含めて文字列が代入される。なお前述における入力時の改行コードの取り扱いも考慮した場合は、scanf("%[^\n]%*c", a);という記述になる。
龐虬の子として生まれた。良家の子として、若くして刺史の杜達に召されて州都督に任ぜられた。宇文泰が関中に入ると、龐晃は大都督に任ぜられ、宇文泰の側近で軍務についた。後に驃騎将軍に転じ、比陽侯の爵位を受けた。北周の衛王宇文直が襄州に駐屯すると、龐晃も本官のまま襄州に出向した。まもなく長湖公元定とともに南朝陳を攻撃し、孤軍で深入りして捕らえられた。数年後、衛王宇文直が龐晃の弟の龐元儁に絹800匹を持たせて身柄を買い取ったので、龐晃は帰国することができた。上儀同の位を受け、再び衛王宇文直に仕えた。楊堅が随州刺史として出向したとき、途中で襄陽に立ち寄ったので、衛王宇文直は龐晃に命じて楊堅に挨拶させた。龐晃は楊堅がただ者ではないと見抜いて、深く交際するようになった。楊堅が退任して長安に帰る途中、龐晃は楊堅を襄邑で迎えた。龐晃は「公のお顔は常人のものではありません。ご即位の日にはお忘れなきよう願いたいものです」と言った。楊堅は笑って「何を妄言するか」と答えた。また1羽の雄雉が庭で鳴いていたので、楊堅が龐晃に射るよう命じると、龐晃は「当たれば賞があるものです。いずれ富貴となる日のしるしといたしましょう」と言い、みごと射当てたので、楊堅は大笑いして「これは天意である、公が天意に感じることができたので当たったのだ」と言った。北周の武帝のとき、龐晃は常山郡太守となり、楊堅は定州総管となって、しばしば往来した。楊堅が亳州総管に転じたとき、楊堅は内心はなはだ不満だったが、龐晃が「いま挙兵しても、天下を図ることはできません」と言ったので、楊堅は時機を待つことにした。龐晃は車騎将軍に転じた。楊堅が揚州総管となると、上奏して龐晃を同行させた。580年、楊堅が北周の丞相となると、龐晃は開府儀同三司の位に進み、楊堅の側近で仕えた。581年、隋が建国されると、龐晃は上開府の位を加えられ、右衛将軍に任ぜられ、爵位は公に進んだ。河間王楊弘が突厥を攻撃すると、龐晃は行軍総管として従軍して馬邑にいたった。別路から賀蘭山に進出し、突厥軍を撃破した。龐晃の性格は剛直で、広平王楊雄や高熲と対立し、しばしば讒言を受けた。このため宿衛として十数年つとめたが、官位は進まなかった。後に懐州刺史として出向した。596年5月に夏州総管となり、601年に原州総管に転じた。603年2月、在官のまま死去した。享年は72。諡は敬といった。子に龐長寿があり、驃騎将軍となった。