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

回答編集履歴

4

ソース追記

2019/12/27 03:16

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -35,4 +35,51 @@
35
35
 
36
36
  return 0;
37
37
  }
38
+ ```
39
+ 出来ましたか?
40
+ ```text
41
+ usr ~/Project/test % ./a.out
42
+ 2つの文字列を入力してください。
43
+ 文字列1:1234
44
+ 文字列2:1234
45
+ 結果:2つの文字は一致します。(1234,1234)
46
+ usr ~/Project/test % ./a.out
47
+ 2つの文字列を入力してください。
48
+ 文字列1:1234
49
+ 文字列2:1235
50
+ 結果:2つの文字は一致しません.(1234,1235)
51
+ ```
52
+
53
+ 以下は結構自己流v^^;・・・文字列が長くて、改行が入らなかった時の確認していません。
54
+ 各関数は[C言語関数辞典](http://www.c-tipsref.com/)を確認して下さい。
55
+ usr ~/Project/test % cat t2.c
56
+ ```c
57
+ #include <stdio.h>
58
+ #include <string.h>
59
+
60
+ #define BUFF_SIZE (11)
61
+
62
+ int main(void)
63
+ {
64
+ char a[BUFF_SIZE] = {0};
65
+ char b[BUFF_SIZE] = {0};
66
+ //
67
+ printf("2つの文字列を入力してください。\n");
68
+ //
69
+ printf("文字列1:");
70
+ fgets(a, sizeof a, stdin);
71
+ a[strlen(a) - 1] = '\0';
72
+ //
73
+ printf("文字列2:");
74
+ fgets(b, sizeof b, stdin);
75
+ b[strlen(b) - 1] = '\0';
76
+ //
77
+ if(strcmp(a, b) == 0) {
78
+ printf("結果:2つの文字は一致します。(%s,%s)\n", a, b);
79
+ } else {
80
+ printf("結果:2つの文字は一致しません.(%s,%s)\n", a, b);
81
+ }
82
+
83
+ return 0;
84
+ }
38
85
  ```

3

ソース修正

2019/12/27 03:16

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -6,6 +6,7 @@
6
6
  [追記]
7
7
  ```text
8
8
  #include<stdio.h>
9
+ #include <string.h> ←memset(),strcmp()
9
10
 
10
11
  int main(void)
11
12
  {

2

ソース追記

2019/12/26 23:57

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -2,4 +2,36 @@
2
2
 
3
3
  サイズが必要です。11文字なら↓
4
4
  char a[11];
5
- memset(a, '\0', sizeof a);
5
+ memset(a, '\0', sizeof a);
6
+ [追記]
7
+ ```text
8
+ #include<stdio.h>
9
+
10
+ int main(void)
11
+ {
12
+ char a[]; ←サイズが必要
13
+ memset(a,'¥0', 11);
14
+
15
+ char b[]; ←サイズが必要
16
+ memset(b,'¥0', 11);
17
+
18
+ printf("2つの文字列を入力してください。");
19
+ printf("文字列1:");
20
+ scanf("%s"&a); →scanf("%s",a);
21
+ printf("文字列2:");
22
+ scanf("%s"&b); →scanf("%s",b);
23
+
24
+ strcmp(a,b); ←不要
25
+ if(a=b) ←if(strcmp(a,b)==0)
26
+ {
27
+ printf("結果:2つの文字は一致します。(%s,%s)",a,b);
28
+ }
29
+ else
30
+ {
31
+ printf("結果:2つの文字は一致しません.(%s,%s)",a,b);
32
+ }
33
+
34
+
35
+ return 0;
36
+ }
37
+ ```

1

追記

2019/12/26 23:41

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -1,3 +1,5 @@
1
1
  > char a[];
2
2
 
3
- サイズが必要です。11文字なら→char a[11];
3
+ サイズが必要です。11文字なら
4
+ char a[11];
5
+ memset(a, '\0', sizeof a);