本文目錄一覽:
- 1、c語言編程
- 2、C語言一定要用XYZ來看PRINTF
- 3、C語言x,y,z比大小的問題
- 4、c語言 subl(char a,char b) {char c;c=a;a=b;b=c;
- 5、麻煩講解一下C語言中substr函數的用法
- 6、C語言問題
c語言編程
這是一個關於全局變量和局部變量以及函數參數的問題。
從兩此sub函數的調用來解釋:
sub(x3,x4)
此時,調用的sub()函數,x3和x4是main()函數的局部變量。分別是10和20。
所以,就相當於sub(10,20)。
在sub函數內部,則x=10, y=20。
在函數內,x1=x(10), x=y(20),y=x1(10)。
其實,x和y都因為是函數的參數,函數結束後也就沒有作用了。
第一次運行sub(x3,x4)的作用是,使全局變量x1編程了10。
第二次sub(x2,x1)
經過同上,因此,x1就變成x的值,也就是傳入的x2的值,是40。
C語言一定要用XYZ來看PRINTF
23 x=y=1 z=x++-1, 先取x值,z=x-1=1-1=0
x自加為2
輸出x z為 2 0
然後 z+=-x++ + (++y||++z)
這裡 先取x值為2, 然後x自加為3. y和z先自加為2和1,再參與計算。於是表達式為
=-2+(2||1)
對於||操作,為邏輯操作,所有非0值按1處理,於是2||1=1
=-2+1
=-1
輸出x z為3 -1
選A
24
x=-3+4*5-6=-3+20-6=11 輸出11
x=3+4%5-6=3+4-6=1 輸出1
x=-3*4%-6/5=-12%-6/5=0/5=0 輸出0
x=(7+6)%5/2=13%5/2=3/2=1 輸出1
選A
C語言x,y,z比大小的問題
x%y表示x除以y的餘數。這裡10%3得1。
x/y表示x整除以y的商。這裡10/3得3。
最後(,)為逗號表達式,逗號表達式的值是表達式右邊的值。這裡得3。
c語言 subl(char a,char b) {char c;c=a;a=b;b=c;
因為 a,b在參與函數計算時,調換的不是內存中a,b 的值,而是另外申請了一塊空間拷貝了a,b的值,進行計算,要改變實參,要指定a,b的地址sub(char a,charb)
麻煩講解一下C語言中substr函數的用法
c語言標準庫裏面沒這個函數,如果你在代碼中看到了這個函數,那一定是自定義的,沒辦法講解用法。
但是c++裏面有這個方法(從根本上來說應該叫方法,不是函數),我給你講講c++裏面這個函數的用法吧:
這個函數的原型是:basic_string
substr(
size_type
index,
size_type
num
=
npos
);
substr()返回本字符串的一個子串,從index開始,長num個字符。如果沒有指定,將是默認值
string::npos。這樣,substr()函數將簡單的返回從index開始的剩餘的字符串。
例如:
string
s(“What
we
have
here
is
a
failure
to
communicate”);
string
sub
=
s.substr(21);
cout
“The
original
string
is
“
s
endl;
cout
“The
substring
is
“
sub
endl;
顯示:
The
original
string
is
What
we
have
here
is
a
failure
to
communicate
The
substring
is
a
failure
to
communicate
C語言問題
這是局部變量和全局變量的問題,sub2()中定義了自己的a[10],把全局變量a[10]屏蔽掉了,他們兩個其實是不同的數組,因此在執行函數sub2()時並沒有修改到全局變量a[10]的值,sub2()執行結束後,其內部變量a[10]就被釋放掉了,因此在主函數中,有沒有sub2()這句話是不影響結果的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/250900.html