为什么我就设置一个变量,但编译时要输入两个值

    int principal;
printf("请输入存放在银行里的本金(元)");
scanf("%d ",&principal);
double amount=principal*(1+0.033);
printf("所回收的金额是%f元",amount);
return 0; 

想知道我这个代码为什么要输入两个值才能得出结果,且结果只与第一个数有关



把%d后面的空格去掉再试试