teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

誤記訂正

2020/11/17 02:31

投稿

DreamTheater
DreamTheater

スコア1095

answer CHANGED
@@ -1,10 +1,10 @@
1
1
  こんにちは。
2
- char変数 a は1バイトの領域なので、scanfで文字列を取り込むとメモリ破壊を起こします。
2
+ ~~char変数 a は1バイトの領域なので、scanfで文字列を取り込むとメモリ破壊を起こします。
3
3
  その結果がsegmentation faultです。
4
-
5
4
  char a[16]; /* 配列にする(とりあえず16バイト程度)*/
6
-
7
5
  scanf("%c", a); /* &を取る */
8
6
  n=a[0]-'a'; /* 配列の先頭要素に変更 */
7
+ これで実行すれば目的の値が表示されます。~~
9
8
 
10
- これで実行すれば目的値が表示され
9
+ %cなでメモリ破壊しせんね。。
10
+ なぜだろう。。。