回答編集履歴

4

並び変更

2021/08/15 16:11

投稿

jimbe
jimbe

スコア13209

test CHANGED
@@ -46,19 +46,7 @@
46
46
 
47
47
  ```
48
48
 
49
- とか
50
-
51
- ```c
52
-
53
- memset(text1,'*',10);
54
-
55
- text1[10]='\0';
56
-
57
- printf(text1);
58
-
59
- ```
60
-
61
- とか、ポインタで
49
+ ポインタで
62
50
 
63
51
  ```c
64
52
 
@@ -67,6 +55,18 @@
67
55
  for(int i=0;i<10;i++) *p++='*';
68
56
 
69
57
  *p='\0';
58
+
59
+ printf(text1);
60
+
61
+ ```
62
+
63
+ いっそ関数で
64
+
65
+ ```c
66
+
67
+ memset(text1,'*',10);
68
+
69
+ text1[10]='\0';
70
70
 
71
71
  printf(text1);
72
72
 

3

誤字等

2021/08/15 16:10

投稿

jimbe
jimbe

スコア13209

test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
  ```c
30
30
 
31
- for(int i=0; i<10; i++) printf("*");
31
+ for(int i=0;i<10;i++) printf("*");
32
32
 
33
33
  ```
34
34
 
@@ -88,11 +88,11 @@
88
88
 
89
89
  というのも有りでしょうか。
90
90
 
91
- 実装依存かもしませんが
91
+ 実装依存かもしませんが
92
92
 
93
93
  ```c
94
94
 
95
- strcpy(text1, "*");
95
+ strcpy(text1,"*");
96
96
 
97
97
  strncat(text1,text1,10-1);
98
98
 

2

strncat版追加

2021/08/15 16:06

投稿

jimbe
jimbe

スコア13209

test CHANGED
@@ -87,3 +87,17 @@
87
87
  ```
88
88
 
89
89
  というのも有りでしょうか。
90
+
91
+ 実装依存かもしてませんが
92
+
93
+ ```c
94
+
95
+ strcpy(text1, "*");
96
+
97
+ strncat(text1,text1,10-1);
98
+
99
+ printf(text1);
100
+
101
+ ```
102
+
103
+ も動くかもしれません。

1

皆さんの回答に釣られてコード例追加

2021/08/15 16:01

投稿

jimbe
jimbe

スコア13209

test CHANGED
@@ -7,3 +7,83 @@
7
7
  ```
8
8
 
9
9
  というふうに、最初に自身を書くことになるかと思います。
10
+
11
+
12
+
13
+ ----
14
+
15
+
16
+
17
+ 単に '*' を 10 個並べたものを表示する、ということであれば、もちろん簡単なのは
18
+
19
+ ```c
20
+
21
+ printf("**********");
22
+
23
+ ```
24
+
25
+ ですよね。
26
+
27
+ いや、任意の数だけ並べる感じで…となれば
28
+
29
+ ```c
30
+
31
+ for(int i=0; i<10; i++) printf("*");
32
+
33
+ ```
34
+
35
+ となります。
36
+
37
+ いやいや、変数に10個並べたのを用意してそれを表示するようなのが…でしたら
38
+
39
+ ```c
40
+
41
+ for(int i=0;i<10;i++) text1[i]='*';
42
+
43
+ text1[10]='\0';
44
+
45
+ printf(text1);
46
+
47
+ ```
48
+
49
+ とか
50
+
51
+ ```c
52
+
53
+ memset(text1,'*',10);
54
+
55
+ text1[10]='\0';
56
+
57
+ printf(text1);
58
+
59
+ ```
60
+
61
+ とか、ポインタで
62
+
63
+ ```c
64
+
65
+ char *p=text1;
66
+
67
+ for(int i=0;i<10;i++) *p++='*';
68
+
69
+ *p='\0';
70
+
71
+ printf(text1);
72
+
73
+ ```
74
+
75
+ もあり得ます。
76
+
77
+ 文字列を追加していく風?なら
78
+
79
+ ```c
80
+
81
+ text1[0]='\0';
82
+
83
+ for(int i=0;i<10;i++) strcat(text1,"*");
84
+
85
+ printf(text1);
86
+
87
+ ```
88
+
89
+ というのも有りでしょうか。