回答編集履歴
2
追記
answer
CHANGED
@@ -5,4 +5,26 @@
|
|
5
5
|
a[20]ではアクセス違反となります
|
6
6
|
|
7
7
|
でもひとつ、C言語における文字列、というのは、後端に'\0'が入っている文字配列です。
|
8
|
-
なので、20バイトの配列に入れることのできる文字列は19文字分まで、となります
|
8
|
+
なので、20バイトの配列に入れることのできる文字列は19文字分まで、となります
|
9
|
+
|
10
|
+
---
|
11
|
+
```C
|
12
|
+
#include <stdio.h>
|
13
|
+
#include <string.h>
|
14
|
+
|
15
|
+
void heruprint(char*s)
|
16
|
+
{
|
17
|
+
for(int i=strlen(s)-1;i>=0;i--){
|
18
|
+
puts(s);
|
19
|
+
s[i]='\0';
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
|
24
|
+
int main(void){
|
25
|
+
char s[]="123456789";
|
26
|
+
heruprint(s);
|
27
|
+
|
28
|
+
}
|
29
|
+
|
30
|
+
```
|
1
追記
answer
CHANGED
@@ -2,4 +2,7 @@
|
|
2
2
|
|
3
3
|
として定義したら、とり得るインデックスは、
|
4
4
|
a[0]からa[19]までです。
|
5
|
-
a[20]ではアクセス違反となります
|
5
|
+
a[20]ではアクセス違反となります
|
6
|
+
|
7
|
+
でもひとつ、C言語における文字列、というのは、後端に'\0'が入っている文字配列です。
|
8
|
+
なので、20バイトの配列に入れることのできる文字列は19文字分まで、となります
|