1樓:
這個是函式作用域的問題,在函式內定義的變數函式呼叫完就銷燬了,所以是不能在函式內通過賦值符號改變函式外變數的值的,要麼用返回值的方式,要麼通過指標來修改
2樓:王龍**
8題相當於直接賦值,所以是18,9題fn函式的x值是不會變的,只有指標型的*p的值才會變,自己好好學習指標和別名就知道了
3樓:
因為傳的是值而不是指標,b傳的是指標,所以值被修改了
c語言:第5題答案是a,我選c。第八題c怎麼錯了
4樓:醉停晚楓
第5題:i被初始化為5,for迴圈在執行前需要先判斷第二個表示式i--<5,是否成立,成立才會執行for迴圈裡的**,i--表示先使用i的值,然後再對i執行--操作,i的值是5,顯然5不小於5,表示式不成立,直接退出for迴圈。因此a答案不是無限迴圈。
第8題:p指向的字串的長度是5,但是s陣列的長度卻是5+1,因為需要多一個位元組存放結束符'\0'
5樓:
第五題c 的意思是 直到i-j 小於等於零的時候結束,你自己可以模擬一下,這種情況是達不到的,第八題 , s 陣列的長度是字串的長度加1 ,因為還要算上字串的結束符'\0'
c語言,第八題為什麼選c?
6樓:匿名使用者
關鍵知識點
1、非零數看成邏輯真
2、算數運算子優先順序高於邏輯運算子
3、單目運算子!優先順序高於算數運算子
!(a+b)*c-1&&b+c%2相當於(!(a+b)*c-1) && (b+c%2) = (!7*5-1) && (4+1) = (0*5-1) && 1=1
參考**
#include
int main()效果圖
7樓:匿名使用者
首先,邏輯表示式不是1就是0,這個要知道,然後呢,第八題是一個與表示式,第一個條件!(a+b)*c-1呢,a+b是7,然後!之後呢變為0,所以第一個表示式就為-1了,不是0就都為真了,同理第二個表示式也為真,所以兩個真的與也為真,也就是1了。
8樓:匿名使用者
首先答案不可能是0或者1外的答案……另外不要走進另外一個誤區,只要不是0則為真,所以左邊算出負數仍為真,右邊估計你也懂了
c語言題, a=b+c=5 這個賦值語句為什麼不合法?
9樓:皮潔仙璧
a++是一個表示式,且並不是變數。
a++僅存在一個臨時空間用於儲存表示式的運算結果,該臨時空間並不能被修改,故其不能作為賦值型別運算子的左值。如(a+b)=c是不合法的表示式,因為(a+b)只有運算結果而不能被賦值,故不能作為賦值符號的左值
10樓:牛牛牛不牛
這個語句的意思是將 5賦值給 b+c然後將結果賦值給a
b+c是一個 左值,可以理解為一個常量,當然不能對其進行賦值操作
11樓:匿名使用者
1、賦值一般形式為:變數=表示式,例如a=5。
2、變數=(變數=表示式),a=(c=5)也是合理的,即先執行c=5,再執行a=c;
3、變數=變數=…=表示式;例如:a=b=c=d=e=5;按照賦值運算子的右接合性,因此實際上等效於:
4.、注意賦值表示式和賦值語句的區別。賦值表示式是一種表示式,它可以出現在任何允許表示式出現的地方,而賦值語句則不能。
下述語句是合法的:if((x=y+5)>0)z=x;語句的功能是,若表示式x=y+5大於0則z=x。下述語句是非法的:
if((x=y+5;)>0)z=x;因為x=y+5;是語句,不能出現在表示式中。
你題目中的 b+c 就是表示式
12樓:匿名使用者
因為賦值號的左邊一定是一個變數,而不能是常量或表示式!
c語言編寫第5,8題
13樓:聽不清啊
5)#include
void fun(char *s)
int main()
{char s[200];
gets(s);
fun(s);
puts(s);
return 0;
8)#include
void fun(int n)
{if(n>9)fun(n/10);
printf("%d ",n%10);
int main()
{int n;
scanf("%d",&n);
fun(n);
return 0;
14樓:
#include
void invert_string(char str);
void print_digit(void);
int main(void) ;
invert_string(str);
printf("逆序後的字串是: %s\n\n", str);
print_digit();
return 0;
}void invert_string(char str)int i;
int ch[4];
for(i=0; i<4; i++)
for(i=0; i<4; i++)}
c語言,第八題和第五題,誰幫忙求解下,詳細過程,謝謝
15樓:東風冷雪
5.0a
s=0+9=9;
bs=9+6=15;
cs=15+3=18
s=18+1=19
8.0i**有分號,所以哪一步執行完 a=2j**,a從[0,4]增加了 4-0+1=5所以結果7
16樓:匿名使用者
void main... 看到這種腦殘**就煩。
第8題兩個迴圈沒有巢狀。 先加3次再加4次。 第5題,--在前, 先減再用
C語言第9題,求詳解,C語言選擇題,求詳解
小寫字母的ascii碼比同一字母的ascii碼小32。a a 就ascii碼值而言,就是 32。所以,ch ch a a ch a a ch 32。即ch的值就是 g 字母是按順序 bai排列的,小寫字母du用zhi a 加上 相對 a 的偏移dao數內就是相應的字母,大寫字母相容對 a 的偏移數就...
求解答一下第八題c語言,求c語言大神詳解,第八題為什麼選c
賦值表示式是一種表示式,它可以出現在任何允許表示式出現的地方,而賦值語句則不能。希望下次拍出來的圖自己看看 望採納,謝謝。第八題 c a d,b d 第四題 b 就服你,也不接一個橫屏的 c語言選擇題第8題,求大神解答,具體的解題分析,等 c正確。2d 佔寬2位,當實際數位多於2時按實際數位輸出 0...
C語言這道題答案為什麼是0?
答案不是0次,而是1次。因為第一次時 i 0,j 1所以 i j 1是成立的。第二次時 i 2,j 0,那麼 i j 1就不成立了。所以迴圈體一共執行了一次。這個迴圈,迴圈體執行的次數是1次,而不是0次。因為變數 i 的初始值是0,變數 j 的初始值是1,所以一開始,i 2 的條件是成立的,迴圈體會...