1
ここに私のコードです。ここに私の望ましい出力があります:プリントカウント値の前に新しい行が表示されるのはなぜですか?
Occurrence of 'l' in Hello world = 3
しかし、私はこんにちは世界の後に新しい行を得ています。どうすればこの問題を解決できますか? C標準関数fgets
の説明によれば
#include<stdio.h>
#include<string.h>
int main (void){
char first_line[1000];
char second_line[2];
int i,n,j;
int count=0,flag=0;
fgets(first_line, 1000, stdin);
fgets(second_line, 2, stdin);
for(i=0; i<strlen(first_line); i++)
{
if(second_line[0]==first_line[i])
{
flag=1;
count++;
}
}
if(flag==1)
printf("Occurrence of '%c' in %s = %d",second_line[0],first_line,count);
else
printf("%c isn't present",second_line[0]);
return 0;
}
のために書くことができ改行文字を削除するには( 'fgets'がそれを行います)。 'first_line [strlen(first_line)-1] = '\ 0''を使用して削除してください。 –
[改行とfgets()に関するクエリの可能な複製](http://stackoverflow.com/questions/22125410/query-regarding改行と改行) –
'char second_line [2];'入力されたchar、改行、および終了する0のために十分ではありません。beanカウントを停止し、配列128または何かを作成してください。 – ThingyWotsit