回答編集履歴

1

誤記訂正

2020/11/17 02:31

投稿

DreamTheater
DreamTheater

スコア1095

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