两个scanf函数,但其中一个读取不同的值
在请求变量月份的输入后,我很难让程序读取之前输入的变量总计。总数总是28257,我不知道为什么 我发现在第11行使用两个scanf函数,但其中一个读取不同的值,c,string,decimal,scanf,C,String,Decimal,Scanf,在请求变量月份的输入后,我很难让程序读取之前输入的变量总计。总数总是28257,我不知道为什么 我发现在第11行使用“%c”是有效的,但我想知道为什么“%s”不起作用 #include <stdio.h> int main(void) { int total; char month; float sales; printf ("Enter total amount collected (-1 to quit): ");
“%c”
是有效的,但我想知道为什么“%s”
不起作用
#include <stdio.h>
int main(void) {
int total;
char month;
float sales;
printf ("Enter total amount collected (-1 to quit): ");
scanf("%d", &total);
printf("Enter name of month: ");
scanf("%s", &month);
printf("total collections : $ %d\n", total);
sales = (total/1.09);
printf("sales : $ %.2f\n", sales);
printf("county sales tax: $ %.2f\n", sales * 0.05);
printf("state tax: $ %.2f\n", sales*0.04);
printf("total sales tax collected: $ %.2f\n", sales *0.05 + sales *0.04);
return 0; }
#包括
int main(void){
整数合计;
炭月;
浮动销售;
printf(“输入收集的总金额(-1以退出):”;
scanf(“%d”,总计(&T);
printf(“输入月份名称:”);
scanf(“%s”和月份);
printf(“集合总数:$%d\n”,总计);
销售额=(总计/1.09);
printf(“销售额:$%.2f\n”,销售额);
printf(“县销售税:$%.2f\n”,销售额*0.05);
printf(“州税:$%.2f\n”,销售额*0.04);
printf(“征收的销售税总额:$%.2f\n”,销售额*0.05+销售额*0.04);
返回0;}
您将月份声明为字符,因此应使用%c进行输入%s用于输入字符数组。在scanf之前(“%c”、&month),也可以使用getchar()
- getchar()李>
- scanf(“%c”、&month)李>
字符月;scanf(“%s”和月份)代码>是一个问题。研究scanf()
以及“%s”
的预期效果<代码>“%s”
要形成一个字符串(一个以空字符结尾的字符序列)char
太小。您正在将一个“字符串”读入单个字符。