qq_43412960 2019-10-15 23:19 采纳率: 75%
浏览 764
已采纳

这是用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条回答 默认 最新

  • 北斗星_And 2019-10-16 10:13
    关注

    这样试试

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 微信小程序 用oss下载 aliyun-oss-sdk-6.18.0.min client报错
  • ¥15 ArcGIS批量裁剪
  • ¥15 labview程序设计
  • ¥15 为什么在配置Linux系统的时候执行脚本总是出现E: Failed to fetch http:L/cn.archive.ubuntu.com
  • ¥15 Cloudreve保存用户组存储空间大小时报错
  • ¥15 伪标签为什么不能作为弱监督语义分割的结果?
  • ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥15 抖音看过的视频,缓存在哪个文件