#include<stdio.h>
#include<stdlib.h>
int main()
{
int month=0;
int day;
int result=0;
int days[]={31,28,31,30,31,30,31,31,30,31,30,31};
printf("请输入您选择的月日");
scanf("%d,%d",&month,&day);
for(int num=0;num<12;num++)
{ if(num<month)
result+=days[num];
else
result+=day;}
printf("%d",result);
system("pause");
return 0;}
这是我写的代码,有几个很有意思的问题,我也不懂是怎么回事。第一,day整数类型并没有赋值,我调试的时候它的值是个很小的负数,应该是任意值,然后我用scanf输入数据,发现day并没有被赋值,还是那个很小的赋值。
第二,scanf函数启用的时候,我输入两个整数,但第二个整数没有起到赋值作用,好奇怪。
这两个问题为什么会产生呢?
这样试试
scanf("%d,%d",&month,&day);
//改成
scanf("%d%d",&month,&day);
我觉得是逗号在作祟,scanf你要按你的固定格式来输入
看下是不是你程序里scanf是英文逗号,但是你输入的时候输入了中文逗号
你程序里scanf是英文逗号,但是你输入的时候输入了中文逗号?