代碼無論怎么對比,反反復(fù)復(fù)的對比,一個個地方的修改,都是錯誤的,求大神幫查找錯誤
#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("錯誤");break;
}?
? ? sum=sum+day;
? ? if(year%400==0||(year%4==0 && year%100!=0))
? ? ? ? flag=1;
? ? else
? ? ? ? flag=0;
? ? ? ??
? ? if(flag==1&&month>2)
? ? ? ? sum++;
? ? ? ?printf("%d年%d月%d日是該年的第%d天",year,month,day,sum);
? ? return 0;
?
}
2016-05-31
2016-06-06
#include <stdio.h>
int main()?
{?
? ? /* 定義需要計算的日期 */
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? int sum ,flag;
? ? /*
? ? ?* 請使用switch語句,if...else語句完成本題
? ? ?* 如有想看小編思路的,可以點擊左側(cè)任務(wù)中的“不會了怎么辦”
? ? ?* 小編還是希望大家獨立完成哦~
? ? ?*/
? ? ?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("一年當(dāng)中只有12個月哦~"); break;
? ? ?}
? ? ?if( (year%4==0&&year%100!=0)||(year%400==0))
? ? ?{
? ? ? ? flag = 1;
? ? ?}
? ? ?else
? ? ?{
? ? ? ? ?flag = 0;
? ? ?}
? ? ?if(flag==1&&month>2)
? ? ? ? sum = sum + day + 1; ? //如果是閏年且滿足以上條件,那么除了要加1天外還要加上day
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? sum = sum + day;//如果不是閏年,那直接加day就行
? ? ? ? }
? ? printf("%d年%d月%d日是該年的第%d天\n",year,month,day,sum);
return 0;
}
注意看加粗傾斜這段代碼,小編為了讓咱們學(xué)到更多的東西也是蠻拼的
2016-06-03
printf("%d年%d月%d日是該年的第%d天",year,month,day,sum);
的確是這句話的毛病,是year前面的那個","是中文標(biāo)點符號,改成英文半角的就可以了","
2016-05-30
你這句有問題,多一個163變量。。。
改成這樣就好了
2016-05-30
回復(fù) IT_阿飛:--------------------Configuration: help - Win32 Debug--------------------
Compiling...
help.c
e:\練習(xí)\1\help.c(41) : error C2018: unknown character '0xa3'
e:\練習(xí)\1\help.c(41) : error C2018: unknown character '0xac'
e:\練習(xí)\1\help.c(41) : error C2146: syntax error : missing ')' before identifier 'year'
e:\練習(xí)\1\help.c(41) : error C2059: syntax error : ')'
執(zhí)行 cl.exe 時出錯.
help.exe - 1 error(s), 0 warning(s)
2016-05-27
2016-05-27
C語言里的變異錯誤error:stray'\243'in program
代表編譯器在編譯源文件時遇到了不可識別的非法字符。其值為ascii碼值243。
這一個值并不在合法的英文字符范圍(0~127)范圍內(nèi),所以一般都是由于誤輸入造成的。
出現(xiàn)這類問題時,需要根據(jù)提示錯誤的行數(shù),找到對應(yīng)行,然后重點查找以下幾個方面:
1 是否存在漢字。
大多數(shù)的C編譯器并不識別漢字,所以變量名中不要使用漢字。
2 是否存在漢語標(biāo)點。
這種情況是最常見的。C語言要求所有的符號必須是英文半角符號,當(dāng)有中文標(biāo)點符號出現(xiàn)時,就會有此類錯誤出現(xiàn),比如逗號應(yīng)為',' 而不能是','。
3 是否有全角英文字符。
在C中,全角字符同樣是非法的,比如a寫作a。
對于這一點,需要注意的是全角的空格,由于空格的不可見性,全角空格比較難查,當(dāng)無法查到有顯式的錯誤符號時,可以嘗試刪除所有空格,重新編譯。