#include stdio.h
目前創(chuàng)新互聯(lián)已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、果洛州網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
void main()
{
int n;
float score;
printf("please enter the score:");
scanf("%f",score);
n=(int)(score/10);
if(n=6)
n=1;
else if(n6)
n=0;
switch(n)
{
case 1:printf("你及格了\n");break;
case 0:printf("你沒及格\n");break;
default:printf("error\n");
}
}
case后面應(yīng)該帶常量,不能為表達(dá)式或變量
int Fun1(int num)
{
if(num 0)
{
return num;
}
else if(num 10)
{
return num - 10;
}
else
{
return num + 10;
}
}
int Fun2(int num)
{
if(num 10)
{
if(num 0)
{
return num;
}
else
{
return num -10;
}
}
else
{
return num +10;
}
}
int Fun3(int num)
{
switch(num0)
{
case 0:
{
switch(num10)
{
case 0:
return num +10;
case 1:
return num - 10;
}
}
case 1:
return num;
}
}
43
執(zhí)行switch(x) x=1
走case 1分支。
執(zhí)行switch(y) y=0
走case 0分支 a++ a=1
break
繼續(xù)switch(x)的case 1, 沒有break
繼續(xù)執(zhí)行case 2
執(zhí)行a++ b++
a=2 b=1
執(zhí)行break,退出switch
輸出a和b的值,
a=2,b=1
44
p[0] = a[0]
p[1] = a[4]
p[2] = a[8]
pp = p
于是
A pp[0][1] = p[0][1] = a[0] [1] = a[1]
B a[10] 由于a有12個元素,a[0]到a[11]都合法。
C p[3][1] 因為p只有三個元素,p[3]是越界 這個錯誤。
D *(*(p+2)+2) = *(p[2]+2) = *(a[8]+2) = *a[10] = a[10] 等同于B
你犯了一個非常常見的問題.
if(op='+')
if(op='-')
你的兩個if里面的判斷相等的符號用錯了,應(yīng)該用相等符號==,而不是賦值符號=
建議你以后這么寫代碼
if('+'==op)
if('-'==op)
你這樣寫的話,就算是你把==錯誤的寫成了=號,那么編譯器會提示你.這樣就能很快發(fā)現(xiàn)錯誤了,你可以試一試.