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

回答編集履歴

4

並び変更

2021/08/15 16:11

投稿

jimbe
jimbe

スコア13342

answer CHANGED
@@ -22,19 +22,19 @@
22
22
  text1[10]='\0';
23
23
  printf(text1);
24
24
  ```
25
- とか
25
+ ポインタで
26
26
  ```c
27
- memset(text1,'*',10);
28
- text1[10]='\0';
29
- printf(text1);
30
- ```
31
- とか、ポインタで
32
- ```c
33
27
  char *p=text1;
34
28
  for(int i=0;i<10;i++) *p++='*';
35
29
  *p='\0';
36
30
  printf(text1);
37
31
  ```
32
+ いっそ関数で
33
+ ```c
34
+ memset(text1,'*',10);
35
+ text1[10]='\0';
36
+ printf(text1);
37
+ ```
38
38
  もあり得ます。
39
39
  文字列を追加していく風?なら
40
40
  ```c

3

誤字等

2021/08/15 16:10

投稿

jimbe
jimbe

スコア13342

answer CHANGED
@@ -13,7 +13,7 @@
13
13
  ですよね。
14
14
  いや、任意の数だけ並べる感じで…となれば
15
15
  ```c
16
- for(int i=0; i<10; i++) printf("*");
16
+ for(int i=0;i<10;i++) printf("*");
17
17
  ```
18
18
  となります。
19
19
  いやいや、変数に10個並べたのを用意してそれを表示するようなのが…でしたら
@@ -43,9 +43,9 @@
43
43
  printf(text1);
44
44
  ```
45
45
  というのも有りでしょうか。
46
- 実装依存かもしませんが
46
+ 実装依存かもしませんが
47
47
  ```c
48
- strcpy(text1, "*");
48
+ strcpy(text1,"*");
49
49
  strncat(text1,text1,10-1);
50
50
  printf(text1);
51
51
  ```

2

strncat版追加

2021/08/15 16:06

投稿

jimbe
jimbe

スコア13342

answer CHANGED
@@ -42,4 +42,11 @@
42
42
  for(int i=0;i<10;i++) strcat(text1,"*");
43
43
  printf(text1);
44
44
  ```
45
- というのも有りでしょうか。
45
+ というのも有りでしょうか。
46
+ 実装依存かもしてませんが
47
+ ```c
48
+ strcpy(text1, "*");
49
+ strncat(text1,text1,10-1);
50
+ printf(text1);
51
+ ```
52
+ も動くかもしれません。

1

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

2021/08/15 16:01

投稿

jimbe
jimbe

スコア13342

answer CHANGED
@@ -2,4 +2,44 @@
2
2
  ```c
3
3
  sprintf(text1, "%s%c", text1, str1);
4
4
  ```
5
- というふうに、最初に自身を書くことになるかと思います。
5
+ というふうに、最初に自身を書くことになるかと思います。
6
+
7
+ ----
8
+
9
+ 単に '*' を 10 個並べたものを表示する、ということであれば、もちろん簡単なのは
10
+ ```c
11
+ printf("**********");
12
+ ```
13
+ ですよね。
14
+ いや、任意の数だけ並べる感じで…となれば
15
+ ```c
16
+ for(int i=0; i<10; i++) printf("*");
17
+ ```
18
+ となります。
19
+ いやいや、変数に10個並べたのを用意してそれを表示するようなのが…でしたら
20
+ ```c
21
+ for(int i=0;i<10;i++) text1[i]='*';
22
+ text1[10]='\0';
23
+ printf(text1);
24
+ ```
25
+ とか
26
+ ```c
27
+ memset(text1,'*',10);
28
+ text1[10]='\0';
29
+ printf(text1);
30
+ ```
31
+ とか、ポインタで
32
+ ```c
33
+ char *p=text1;
34
+ for(int i=0;i<10;i++) *p++='*';
35
+ *p='\0';
36
+ printf(text1);
37
+ ```
38
+ もあり得ます。
39
+ 文字列を追加していく風?なら
40
+ ```c
41
+ text1[0]='\0';
42
+ for(int i=0;i<10;i++) strcat(text1,"*");
43
+ printf(text1);
44
+ ```
45
+ というのも有りでしょうか。