質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

817閲覧

関数の実行以降のコードが機能しません。エラーも出ません。

urazome

総合スコア26

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2019/04/21 14:41

編集2019/04/21 14:45

コードの内容は、入力された文字列の文字数と"th"または"Th"の出現回数、加えてそれらを"+"に置き換えます。

関数judの実行で止まるので、関数judが間違っているのだと思うのですが、解明できませんでした。知恵をお貸しください。

c言語

1#include <stdio.h> 2 3int jud(char *se); 4 5int main(void){ 6 int num=0; 7 int i=0; 8 int count; 9 char s[256]; 10 char c; 11 puts("英文を入力して下さい."); 12 c=getchar(); 13 while(c!=EOF){ 14 //putchar(c); 15 s[i]=c; 16 i+=1; 17 if(c!='\n'){ 18 num+=1; 19 } 20 c=getchar(); 21 } 22 //puts("1"); 23 //printf("%s\n",s); 24 25 count=jud(s);//ここから何も出力されなくなります。 26 //puts("2"); 27 printf("%s\n",s); 28 printf("文字数:%d\n",num); 29 printf("th の出現回数:%d\n",count); 30 31 return 0; 32} 33 34int jud(char *se){ 35 int i=0; 36 int count=0; 37 while(se[i]!='\0'){ 38if(se[i]=='t' || se[i]=='T'){ 39 if(se[i+1]=='h' ){ 40 count+=1; 41 se[i]='+'; 42 se[i+1]='+'; 43 } 44 } 45 } 46 return count; 47}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

while(se[i]!='\0'){

iが変動しませんのでこのループはハマると抜け出しません。

投稿2019/04/21 14:49

asm

総合スコア15147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

urazome

2019/04/24 03:17

うっかりしてました! ありがとうございます
guest

0

ベストアンサー

char s[256] に入力した文字を入れていると思いますが、
最後の '\0' を入れている箇所がありません。
asm さん指摘の i と共に見直しを

また、getchar()の戻り値は、 intEOFも同様。
char c --> int c としましょう。

投稿2019/04/21 15:53

pepperleaf

総合スコア6383

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

urazome

2019/04/25 06:41

ありがとうございました! また新しく正しい知識が補完された気がします! getchar()の戻り値がintでも可能というのは驚きました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問