这是用C语言写的一个判断年月日的天数的代码,有点问题
#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函数启用的时候,我输入两个整数,但第二个整数没有起到赋值作用,好奇怪。
这两个问题为什么会产生呢?

3个回答

这样试试

  scanf("%d,%d",&month,&day);
//改成
  scanf("%d%d",&month,&day);

我觉得是逗号在作祟,scanf你要按你的固定格式来输入

看下是不是你程序里scanf是英文逗号,但是你输入的时候输入了中文逗号

你程序里scanf是英文逗号,但是你输入的时候输入了中文逗号?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐