質問編集履歴
4
title
CHANGED
File without changes
|
body
CHANGED
@@ -29,9 +29,9 @@
|
|
29
29
|
|
30
30
|
strcpy(str2[n]," ");
|
31
31
|
strcpy(newstr,str2[n]);
|
32
|
+
new str[n+1] = ‘.’;
|
32
33
|
printf("%s\n", newstr); /* 新しい文字列全体を表示 */
|
33
34
|
}
|
34
|
-
printf(" ");
|
35
35
|
/* ここで、newstrの文字数を表示 */
|
36
36
|
printf("Total: %d characters\n",strlen(newstr));
|
37
37
|
return 0;
|
3
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
C言語で単語を4回入力し、スペースを入れてそれを繋げて最後にピリオドを表示させたいです あと、最後に文字数の合計を表示させたいです
|
3
3
|
|
4
4
|
### 発生している問題・エラーメッセージ
|
5
|
-
|
5
|
+
コンパイルはできたのですが、入力しても何も表示されず、文字数も1になってしまいました
|
6
6
|
### 該当のソースコード
|
7
7
|
|
8
8
|
#include <stdio.h>
|
@@ -15,7 +15,8 @@
|
|
15
15
|
char str2[NUM][20]; /* 入力用の文字配列 */
|
16
16
|
char newstr[80]; /* 出力用の文字配列 */
|
17
17
|
int i;
|
18
|
+
/* ここにその他の変数宣言 */
|
18
|
-
int
|
19
|
+
int n;
|
19
20
|
printf( "Input %d words: \n", NUM );
|
20
21
|
|
21
22
|
for( i = 0; i < NUM; i++ ){
|
@@ -23,15 +24,22 @@
|
|
23
24
|
}
|
24
25
|
|
25
26
|
/* 入力済みのstr2をもとに、newstrを作成する処理を書く */
|
26
|
-
|
27
|
+
/* 単語間にスペースを入れる事と、最後はピリオドで終わることに注意 */
|
27
|
-
|
28
|
+
for(n = 0;n < i;n++){
|
28
29
|
|
29
|
-
|
30
|
+
strcpy(str2[n]," ");
|
31
|
+
strcpy(newstr,str2[n]);
|
32
|
+
printf("%s\n", newstr); /* 新しい文字列全体を表示 */
|
33
|
+
}
|
34
|
+
printf(" ");
|
35
|
+
/* ここで、newstrの文字数を表示 */
|
30
|
-
printf("Total: %d characters\n",
|
36
|
+
printf("Total: %d characters\n",strlen(newstr));
|
31
37
|
return 0;
|
32
38
|
}
|
33
39
|
|
34
40
|
|
41
|
+
|
42
|
+
|
35
43
|
### 試したこと
|
36
44
|
|
37
45
|
|
2
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,19 +1,8 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
|
-
C言語で
|
2
|
+
C言語で単語を4回入力し、スペースを入れてそれを繋げて最後にピリオドを表示させたいです あと、最後に文字数の合計を表示させたいです
|
3
3
|
|
4
4
|
### 発生している問題・エラーメッセージ
|
5
5
|
|
6
|
-
prog03.c: In function ‘main’:
|
7
|
-
prog03.c:17:16: warning: comparison between pointer and integer
|
8
|
-
17 | if(str2[i] == '\n')str2[i] =' ';
|
9
|
-
| ^~
|
10
|
-
prog03.c:17:32: error: assignment to expression with array type
|
11
|
-
17 | if(str2[i] == '\n')str2[i] =' ';
|
12
|
-
| ^
|
13
|
-
prog03.c:23:10: error: assignment to expression with array type
|
14
|
-
23 | newstr = str2;
|
15
|
-
| ^
|
16
|
-
|
17
6
|
### 該当のソースコード
|
18
7
|
|
19
8
|
#include <stdio.h>
|
@@ -31,8 +20,6 @@
|
|
31
20
|
|
32
21
|
for( i = 0; i < NUM; i++ ){
|
33
22
|
scanf("%s", str2[i]);
|
34
|
-
if(str2[i] == '\n')str2[i] =' ';
|
35
|
-
count++;
|
36
23
|
}
|
37
24
|
|
38
25
|
/* 入力済みのstr2をもとに、newstrを作成する処理を書く */
|
1
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
入力した単語に空白を入れて文章を作る方法が分かりません
|
body
CHANGED
File without changes
|