【发布时间】:2018-11-07 13:35:50
【问题描述】:
我似乎无法在这里找到问题所在。
在第一个循环中,我可以输入债权人的姓名,但在第二个循环中我不能这样做。
int main(){
float cb,ir,si,sum=0,totaldebt;
int time,i;
char name[25];
printf("------------Welcome to Debt Management System-------------");
for (i=1;i>=1;i++){
printf("\n%d)Name of the creditor: ",i);
scanf("%[^\n]",&name);
printf("Enter your current balance: ");
scanf("%f",&cb);
printf("Enter its interest rate: ");
scanf("%f",&ir);
printf("Enter time for the loan: ");
scanf("%d",&time);
si=cb*ir*time/100;//simple interest
totaldebt=si+cb; //simple interest + current balance
if (name=='none'){
break;
}
sum+=totaldebt;
}
它跳过了scanf 部分,我有点猜想阅读部分似乎被之前的阅读卡住了。
【问题讨论】:
-
需要一些minimal reproducible example:例如
name是什么? -
您希望
scanf("%[^\n]*c",&name);匹配什么? Scanf 模式不是正则表达式;*和c都只会匹配它们自己(这肯定会失败)。 -
人...你在评论区回答!
-
忘记添加初始化对不起..