凡庸なる人のブログ

凡庸な自分が思ったことや何かしらの感想、コンピュータ系などの調べごとを書くブログです。  【結論】ってのは私個人の結論です。記事全体は個人的な調査結果や感想です。

C言語においてscanf関数は危険

【結論】

  1. fgets + sscanf を使うべし

  2. そもそもC言語は使わないべし

 

 

【理由】例を見てちょんまげ

#include <stdio.h>

int main(){
int input;
printf("input num:\n");
scanf("%d",&input);
printf("input num:%d\n",input);
return 0;
}

 実行結果

f:id:wannabeahacker:20160222002747p:plain

はい。

 

では入力を「a」にする。

f:id:wannabeahacker:20160222002912p:plain

ッファ!?

 

はい。

 

何を今更という人もいるかもしれませんが、個人的に記事にしたいことでした。

 

替わりに使う関数は「fgets + sscanf 」の2つです。

具体的にはそのうち書きます。

 

続き↓

wannaknowenglish.hatenablog.com