1樓:匿名使用者
子表示式a>b?a++:b++,顯然的a>b為真.執行a++
由於逗號運算子是順序點,所以計算a+b時a的值已經自增1
6+2==8
2樓:歲歲
a=5b=2 //給a,b賦值
a>b?a++:b++ //滿足a>b,執行a++,反之,執行b++。a++是先返回a的值再自加一。
a+b //a自加一後為6,此時a=6,b=2
3樓:
三目運算子,前面的表示式為真,執行第一個,為假,執行第二個
a > b為真,執行a++
a + b = 6 + 2 = 8
4樓:畢老師的一句話
回答您好,您想詢問c語言的哪個問題
int 佔4個位元組
char 佔1個位元組
float 佔4個位元組
本題結構體由一個int變數 、一個char陣列10個元素、一個float變數組成,所以結構體變數wang所佔的記憶體位元組為:4+10*1+4=18個位元組。
main()的引數和返回值全部省略,這和上例含義相同。省略寫法是一種很不好的習慣。
關於標頭檔案的內容,初學者還必須
版本申明、函式功能說明、註釋等是c語言程式的一部分。不養成很好的習慣則不能成為c語言高手(專業人員)。
((4)當使用超出範圍的值時,編譯不出錯,但執行會出錯。(上例執行時出錯後,選「忽略」後得到的結果)
如果您感到滿意,請點亮五顆小星星哦,您的評價是對我最好的鼓勵,祝您生活愉快!
再次感謝!!
提問回答
您好,選b
陣列地址從0開始,所以是第二個括號裡第二個數字
就是4您好,如果此回答對您有幫助的話 親給個贊吧
更多15條
一道大一c語言課程設計的題目,求大神
5樓:匿名使用者
免費給你一個,自己改改
#include
#include
#include
struct student
;void menu(int *n)
void scanfstudent(struct student * p,int len)//輸入學生的資訊 學號 姓名 性別 年齡 得分
}void printfstudent(struct student *p,int len)//對學生的資訊進行輸出
}void createdata(struct student *p,int *len)
void add(struct student *p,int *len)//增加一個學生的資訊。並且按照順序排列
}void sort(struct student *p,int len)//按照分數從大到小排列選擇排序法
}printfstudent(p,len);
}/*if(myp->score >= p[0].score)//
else if(myp->score <= p[mylen-1].score)
*///else
//pos = i;
for(j = mylen; j > pos; j--)
p[pos] = *myp;
*len = mylen+1;
}*/void del(struct student *p,int *len)//刪除學生的資訊
if(i == 0)//刪除的是第一個元素
else if(i>0 && i<(*len)-1)//刪除中間的元素
else if(i == (*len)-1)
;else
printf("error,學號輸入有誤!\n");
*len =mylen-1;//陣列長度減少一個
printfstudent(p,*len);
printf("\n");
printf("是否繼續刪除?輸入:\n1.繼續\n2.退出\n");
scanf("%d",&c);}}
void serch(struct student *p,int len)//按學號或者姓名查詢學生資訊
} if(!flat)
else
}else if(i == 2)
}if(!flat)}}
/*int main(void)
while(c==1);
}*/int main(void)
if(n == 6)
break;
}return 0;}
6樓:揚疏然
ok,這個我就可以寫的哦,這俺會
大一c語言考試題(急)
c語言程式設計,大一的題目
大一c語言課程設計題目, 求急! 加100分。
大一c語言題目,形參實參與指標的問題
7樓:風雷九州
c語言使用的是值傳遞,僅僅將實參的值傳遞給形參。
對於第一種寫法
main函式傳遞給swap函式的是&a和&b的值,即a和b所在的地址的值
那麼swap函式裡面通過*x來更改的就是&a所在的地址裡面的值,也就是a本身的值了,所以第一種寫法main函式呼叫swap函式之後,a和b的值會發生互換。
對於第二種寫法
main函式傳遞給swap函式的是a和b的值,即只是將15和8傳遞給了swap函式
那麼swap函式裡面更改15和8,和main函式的a和b沒有啥關係的,所以第二種寫法main函式呼叫swap函式之後,a和b的值不會發生互換。swap函式只是更改了x和y的值,對a和b沒有什麼影響
這就是c語言引數的值傳遞的奇妙之處了。
8樓:匿名使用者
首先理解值傳遞和地址傳遞的區別。
第二個程式就是值傳遞。實參a的值傳給形參x,實參b的值傳給形參y。這裡的x與a只是值相等了,但是兩個不同的記憶體單元。
好比一班和二班兩位同學,只是名字都叫張三,卻是兩個不同的人。同理,b和y也類似於一班和二班另兩位同學,只是名字都叫李四,卻是不同的兩人。在swap函式中,只是對x和y操作,類似於只是二班的張三和李四發生了點變化。
他們的變化是不會影響一班的張三和李四的。所以x和y的變化不會影響a和b。因為這是四個不同的記憶體單元。
第一個程式是地址傳遞。實參&a(a的地址)傳給形參x,實參&b(b的地址)傳給形參y。這樣的話,x就指向了a,y也指向了b。
**中temp=*x;就等價於temp=a;了。 同理,*x=*y; 等價於a=b; *y=temp;等價於b=temp; 。這裡對*x和*y操作,實際上就是對a和b的操作。
所以會影響a和b的值。
9樓:匿名使用者
第二個交換了x和y,對a和b沒有影響,因為形參和實參的記憶體地址是不一樣的
第一個交換了a和b的地址所指向的內容,所以交換有效
10樓:
函式形參一定要傳遞地址,呼叫過程中改變形參的值,不會影響實參變數本身,實參變數保持值不變,下面的寫法輸出的形參值不會改變。上面寫法形參值改變實參。
誰能幫我解決一道C語言題目C語言一道題目,誰能幫我解得
include include include include define eps 1e 6 用於控制商的精確度 main else printf 回答錯誤 n break case 2 for i 1 i 10 i while c 0 printf d.d d n i,a,b scanf d d...
求教!一道C語言題目,求教一道C語言的題目!
你主函式裡m肯定還是1,func函式中的靜態變數應該是8了吧。你檢視變數值的位置是什麼樣的,如果在主函式裡檢視肯定是主函式中的m,即為1,因為發生作用域覆蓋了。你是第二次進入func後設定斷點,檢視m數值的可定為8。由程式執行結果為8 此時i 3,m 3 1 4,因此返回值為8 17 此時i 3 8...
一道C語言題目
你那個fun函式寫錯了,因為你用的是指標,你這樣指來指去根本就沒有達到交換的目的,應該為 void fun int a,int b 具體解答在c程式課本里面有的!不能通過呼叫函式來改變實參指標變數的值,但可以改變指標變數所指變數的值 fun 函式做的是交換指標,在主函式中被呼叫的時候,將原來分別指向...