回答編集履歴
1
誤記訂正
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
|
+
なぜだろう。。。
|