0
名前と電話番号を取得する電話帳の機能を実行します。要求された名前については、電話番号を印刷する必要があります。私は入力の終わりを検出できないため、最後の出力行は無限に印刷されます。私は\n
,' '
および" "
を使用しましたが、何も動作しません。 HELP!入力文字列の末尾を検出できません
#include <stdio.h>
struct ph_book{
char name[100000];
double ph;
}p[20];
int main() {
char temp[100000],ex[100000];
int n,i,flag=0;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%s",p[i].name) ;
scanf("%lf",&p[i].ph);
}
scanf("%s",temp);
while(temp[0]!='\n'){
flag=0;
for(i=0;i<n;i++){
if(strcmp(temp,p[i].name)==0){
printf("%s=%.lf\n",p[i].name,p[i].ph);
flag=1;
break;
}
}
if (flag==0){
printf("Not found\n");
}
strcpy(ex,temp);
scanf("%s",temp);
if (strcmp (temp, "\n") == 0)
break;
}
return 0;
}/* Enter your code here. Read input from STDIN. Print output to STDOUT */