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

質問編集履歴

3

追記

2021/12/17 07:05

投稿

HYYH
HYYH

スコア16

title CHANGED
File without changes
body CHANGED
@@ -37,4 +37,33 @@
37
37
  }
38
38
  return 0;
39
39
  }
40
+ ```
41
+
42
+ 【修正後】
43
+ ```c
44
+ #include<stdio.h>
45
+
46
+ int main()
47
+ {
48
+ int i,a;
49
+ char str[2][100],*pc;
50
+
51
+ /*文字列の代入*/
52
+ printf("10文字以下の文字列を入力してください。\n");
53
+ printf("\n1つ目:");
54
+ scanf("%s",str[0]);
55
+ printf("\n2つ目:");
56
+ scanf("%s",str[1]);
57
+
58
+ /*結合した文字列の表示*/
59
+ for(i=0;i<2;i++){
60
+ pc=str[i];
61
+
62
+ while(*pc!='\0'){
63
+ printf("%c",*pc);
64
+ pc++;
65
+ }
66
+ }
67
+ return 0;
68
+ }
40
69
  ```

2

追記

2021/12/17 07:05

投稿

HYYH
HYYH

スコア16

title CHANGED
File without changes
body CHANGED
@@ -2,14 +2,13 @@
2
2
  しかし、プログラムを実行するとエラーが起きます。
3
3
  なぜこのようなエラーが起きるのか、
4
4
  また、改善策を教えていただけませんか?
5
-
5
+ 【実行結果】
6
6
  *******************************************
7
7
  10文字以下の文字列を入力してください。
8
+ 1つ目:aa
8
9
 
9
- 1つ目:123
10
+ 2つ目:ss
10
-
11
- *** stack smashing detected ***: terminated
12
- 中止 (コアダンプ)
11
+ a s
13
12
  ********************************************
14
13
 
15
14
  ```c

1

修正

2021/12/17 07:02

投稿

HYYH
HYYH

スコア16

title CHANGED
File without changes
body CHANGED
@@ -23,9 +23,9 @@
23
23
  /*文字列の代入*/
24
24
  printf("10文字以下の文字列を入力してください。\n");
25
25
  printf("\n1つ目:");
26
+ scanf("%*c%c",str[0]);
27
+ printf("\n2つ目:");
26
28
  scanf("%*c%c",str[1]);
27
- printf("\n2つ目:");
28
- scanf("%*c%c",str[2]);
29
29
 
30
30
  /*結合した文字列の表示*/
31
31
  for(i=0;i<2;i++){