问答详情
源自:4-17 switch与if语句的应用

为什么我做了几次都出现这样的问题 In function 'main': error: stray '\357' in program error: stray '\274' in program error: stray '\214' in program error: expected ')' before 'year'

#include <stdio.h>

int main() 

    /* 定义需要计算的日期 */

    int year = 2008;

    int month = 8;

    int day = 8;

    

    int sum,flag;

    switch(month)

    {

        case 1:sum=0;break;

        case 2:sum=31;break;

        case 3:sum=59;break;

        case 4:sum=90;break;

        case 5:sum=120;break;

        case 6:sum=151;break;

        case 7:sum=181;break;

        case 8:sum=212;break;

        case 9:sum=243;break;

        case 10:sum=273;break;

        case 11:sum=304;break;

        case 12:sum=334;break;

        default:printf("一年只有12个月");break;

    }

    sum=sum+day;

    if((year%4==0&&year%100!=0)||year%400==0) 

       flag=1;

    else

        flag=0;

    if(flag==1&&month>2)

       sum++;

    printf("%d年%月%日是该年的第%d天",year,month,day,sum);


return 0;


提问者:qqhuanji 2015-08-17 11:12

个回答

  • 忆木偶
    2015-08-17 15:06:55
    已采纳

    学会自己根据错误提示找出原因,提示说得很明白了,就是year附近出了问题,仔细看看,一般这种提示附近出了问题的,要么是语法出了问题,要么是符号出错,或者就是缺少什么,所以你看看你最后输出的那条语句,关键就是那里出错了

  • 宝慕林3030984
    2019-11-01 22:20:00

    #include <stdio.h>int main() 
    {     /* 定义需要计算的日期 */    int year = 2008;    int month = 8;    int day = 8; 
           int sum,flag;    switch(month)    {        case 1:       case 2:sum=31;break;        case 3:sum=59;break;        case 4:sum=90;break;        case 5:sum=120;break;        case 6:sum=151;break;        case 7:sum=181;break;        case 8:sum=212;break;        case 9:sum=243;break;        case 10:sum=273;break;        case 11:sum=304;break;        case 12:sum=334;break;        default:printf("一年只有12个月");break;    }    sum=sum+day;    if((year%4==0&&year%100!=0)||year%400==0)        flag=1;    else        flag=0;    if(flag==1&&month>2)       sum++;    printf("%d年%月%日是该年的第%d天",year,month,day,sum);	return 0;}


  • 宝慕林3030984
    2019-11-01 22:18:49

    #include <stdio.h>int main() {     /* 定义需要计算的日期 */    int year = 2008;    int month = 8;    int day = 8;        int sum,flag;    switch(month)    {        case 1:sum=0;break;        case 2:sum=31;break;        case 3:sum=59;break;        case 4:sum=90;break;        case 5:sum=120;break;        case 6:sum=151;break;        case 7:sum=181;break;        case 8:sum=212;break;        case 9:sum=243;break;        case 10:sum=273;break;        case 11:sum=304;break;        case 12:sum=334;break;        default:printf("一年只有12个月");break;    }    sum=sum+day;    if((year%4==0&&year%100!=0)||year%400==0)        flag=1;    else        flag=0;    if(flag==1&&month>2)       sum++;    printf("%d年%月%日是该年的第%d天",year,month,day,sum);	return 0;}