請問下這個是怎麼走過來的?為什麼這麼走呢?C語言

2023-01-18 20:50:36 字數 5687 閱讀 8056

1樓:就是佐

覆蓋了char b[30];

strcpy(&b[0],"ch");

printf("%s \n",b);

strcpy(&b[1],"def");

printf("%s \n",b);

strcpy(&b[2],"abc");

printf("%s \n",b);

一條一條單獨 執行輸出 應該可以看到

2樓:匿名使用者

char是單字元陣列 ch def abc都不是單字元 所以你copy的時候會自動儲存第一個字元

3樓:匿名使用者

因為你strcpy裡用的是陣列的地址,所以他會自動往後儲存,樓上的樓上說的很詳細了

這個是為什麼 ??簡單的c語言程式設計

4樓:倒黴熊

scanf("%d,%d",&a,&b);

&表示取地址符,表示將輸入的值存進這個地址中。

5樓:匿名使用者

輸入時引數前要加&,你應該改成 scanf("%d,%d",&a,&b);

6樓:低調_闊少

scanf("%d,%d",a,b);

要取地址scanf("%d,%d",&a,&b);

7樓:匿名使用者

scanf("%d,%d",a,b);的問題,同學要注意啊,沒加&

c語言,這個是怎麼回事? 100

8樓:匿名使用者

你需要先知道電腦內部的儲存方式, 再搭配上型別空間的使用, 才知道有何差異.

電腦首先以二進位制(bit)方式儲存, 最小存取單位為byte(8bits).

型別各佔用電腦空間的識別是(依照編譯器, 並非都相同),

char: 1byte

int: 4byte

unsigned int: 4byte

long: 自有特殊表示式, 與上述不同, 會自動轉換. 可以自行研究.

以, 前三種型態為例子, 其在記憶體內的儲存.

(我先略過endian, 比較容易看, 可自查)

int b = -265 => 0xfffffef7

char a = (char)b => 0xf7(前面不看)

unsigned int c = (unsigned) b => 0xfffffef7

printf再轉成十進位制給人看,

b = -265

a = -9 (你用%d, 所以當作int, 負號展延 = 0xfffffff7)

c = 4294967031 (純粹用正數來看0xfffffef7)

= 2^31+2^30+2^29+...+2^11+2^10+2^9+ 0 +2^7+...+2^4+ 0 +2^2+2^1+2^0

最後, visual studio有除錯功能可以使用, 以單步追蹤, 加上觀察記憶體內容, 很容易可以取得各變數在不同進位制下的結果. 要多善用工具, 幫助自己快速除錯. 上網問, 速度就慢了.

9樓:

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。謝謝...

下面這個c語言題目怎麼做?答案為什麼是c?

請問這個c語言的題為什麼答案是那樣?謝謝

10樓:喵0個咪

你說的是第八題嗎?

如果是的話那麼我得到的答案也是a啊,順序是2,2,0沒錯啊首先第一個if(c>0)是成立的,則執行算式:x=x+y=0+2=2;

然後第二個if(a<=0)是成立的,則進入條件語句中;

接著第三個if(b>0)是成立的,則進入下一個條件判斷;

看到第四個if(c<=0)是不成立的,則跳出這個整個條件語句,至此,已經不用看接下來的條件語句了,因為判斷已經結束,只有第一條的x=x+y算式被執行,其它的變數值不變,即是:

x=x+y=0+2=2;

y不變,等於原來所賦的值,即y=2;

z不變,等於原來所賦的值,即z=0;

11樓:匿名使用者

if ()

else if ()

else()

此語句,if條件成立,所以只執行if語句;if (b>0)條件成立,if(c<0)不成立。

所以此程式實際執行的運算就只有開始的if(c>0) x=x+y所以結果就是x=2,y=2,z=0;

(c語言)誰能講解下怎麼執行的嗎?

12樓:油田開發知識

輸出uvwxyz

不理解就去問老師

文字講不清楚

13樓:匿名使用者

我要說,這是典型的遞迴呼叫問題,

程式先在main() 呼叫fun()

當你輸入後(不是回車)沒有顯示,而是在呼叫fun();

在輸入(不是回車),再調fun();

。。。。。。

當你輸入回車時,會倒著返回你輸入的值,如果還不懂,就米我

14樓:匿名使用者

你是自學程式設計,還是在學校學習?

自學的話,建議你先學批處理,這個好玩點,容易點。

如果在學校學習,那就當我沒說好了,在學校好好學就是了。

15樓:匿名使用者

先是顯示uvwxyz然後讓你接著輸入,如果你直接敲回車,則程式執行借結束。這個程式就相當與一個迴圈,如果敲回車則退出迴圈!

16樓:

倒序輸出你輸入的字串,輸入的字串以回車結尾,回車不輸出

這道c語言的答案為什麼是這樣?

17樓:匿名使用者

1、「能整除形參x且不是偶數的各整數」 是說求「各整數」。這個「各整數」滿足兩個特徵:「能整除形參x」, 「不是偶數」,這兩個特徵寫成**就是:((x%i==0)&&(i%2))

2、「這些除數的個數通過形參n返回」, 是通過形參返回,而不是返回值返回。如果用return就 是函式的返回值。形參是n,兩條語句「

*n=0;" 和 」(*n)++「 即為將形參n指向的int型變數賦值為「這些除數的個數」。

18樓:

1.你寫錯了。是i%2不是i&2。%是取餘除,所以i%2不為0就說明i不能被2整除,不能被2整除的整數肯定不是偶數,這不剛好符合要求嗎?

2.你把「返回」理解得太狹隘了,n是指標,當然會在fun返回時「帶回來」被fun改變了的值。函式返回一個值,不一定一定要用函式返回,用指標和全域性變數都能完成。

當然你把fun定義成有返回值的函式int fun(),最後用一句return *n也能行。

19樓:匿名使用者

1、題目說 能整除形參x且不是偶數的各整數,不是x不是偶數,而是所求的數i要求不是偶數。能整除形參x的條件是(x%i==0)而i不是偶數的條件是(i%2),兩者都要成立,則寫成if((x%i==0)&&(i%2));

2、n是通過指標方法傳到函式中來,在函式內已對n作修改

20樓:伯度空間

1.i%2為奇數時才為true

2.指標操作時是址傳遞。

》我要問的是:找出的數能被x整除,而且不偶數,那為什麼不能寫成if((x%i==0)&&(i%2!=0))?

效果應該是一樣的。

21樓:賴福平

i%2得到的結果非0為1,0則為0.

給形參而不是返回值,給形參是把得到的結果賦值給形參。和返回值不同,返回值是函式執行之後返回的結果。

c語言 d=a>b?a>c?a:c:b 這個的順序是怎麼走的

22樓:匿名使用者

三目運算子的結合性是從右向左的,所以先判斷a>c,然後判斷a>b。就是a、c中找一個大的和b比較,然後選擇大的一個。就是找三個數中最大的。

23樓:煙火夜空

三目運算(?:)是執行 右結合方式的,a>b?a>c?a:c:b 這個 式子 可以寫出 a>b?(a>c?a:c):b;

這就簡單了,括號 是 選擇 a、c 的大值;

那麼 外面的 三目運算 是 a、b 的大值,如果 a大 ,再選擇 a、c 的大值。

ps,估計 這程式 本是想 選擇 a、b、c 之間的最大值,可是 結果做不到,因為 當 b>a時,直接就輸出 b 了,根本就不管 c 的死活。

可以這樣寫:

(a>b?a:b)>c?(a>b?a:b):c;

c語言,這是怎麼回事?

24樓:匿名使用者

這是一個順序表的資料結構

typedef int datatype;

#include

#define maxsize 100

typedef struct //定義順序表的節點

sqlist;

sqlist *l;

sqlist *init_sqlist() //初始化順序表,申請順便表的空間

int insert_sqlist(sqlist *l,int i,datatype x) ///在順序表中插入新元素

else if(i<1||i>l->last+1)

else

}sqlist *create_sqlist()

while(x!=-1)

return l;

}void print_sqlist(sqlist *l) //輸出順序表中的元素

sqlist *inverse_sqlist(sqlist *l) //對元素進行排序

return l;

}void main()

25樓:匿名使用者

首先,你用的不知道是哪本書,**挺差的;

其次,老是出現「位置錯誤」的原因是,insert_sqlist中判斷有一個分支i<0||i>l->last+1,第一次進入的時候,i為0,滿足i<0進入該分支,函式退出,last沒變化;後續i增加了,如果再進入該函式,則剛好滿足後一個條件,因此又進入該分支。。。

26樓:匿名使用者

typedef int datatype;

#include

#include

#define maxsize 100

typedef struct

sqlist;

sqlist *l;

sqlist *init_sqlist()int insert_sqlist(sqlist *l,int i,datatype x)

else if(i<0||i>l->last+1)else

}sqlist *create_sqlist()while(x!=-1)

return l;

}void print_sqlist(sqlist *l)sqlist *inverse_sqlist(sqlist *l)return l;

}void main()}

為什麼男生面對面走過來的陌生女生會低著頭,臉紅著走過去

首先,你要確定,他們人不認識。如果不認識就是男的害羞!女生太漂亮了,不好意思,害羞了 如果男生每次看到一個女生就會有些臉紅低著頭走過去,對別的女生卻不會這樣,是什麼意思?喜歡你內向的人,像我 也許你很在意這個女生 因為那個男生喜歡那個女生 心動唄,趕快去追呀!那個女孩 對你有好感 當兩個不認識的男女...

我想問下這個狐臭是怎麼引起的,為什麼我就有這個呀。怎麼能治好的呀。真煩人

狐臭形成的原因主要是由於個體的汗腺,特別是大汗腺發育旺盛,分泌過多的汗液,汗液與區域性的細菌相互作用,產生一些有臭味的物質,就形成狐臭。狐臭的原因主要跟遺傳有關係,比如父母或者爺爺 奶奶 外公 外婆有狐臭,患者得狐臭的機會就非常高。如果自身有狐臭,也有可能會遺傳給孩子。另外,狐臭還跟年齡有關係,在青...

請問下,這個字型上的白色點點是怎麼用ps做到的

筆刷,先去網上下好這種效果的筆刷,然後載入畫筆工具就可以了 ps這種效果是怎麼做的?字型外面帶有一層白色的圈 怎麼做的 效果裡,外發邊,要除錯一下,描邊效果。用畫筆調整好要的樣子。然後調整。根據你的需要調成任何顏色 輸入文字 變形文字 拉漸變 外描邊 濾鏡 模糊 在更改圖層混合模式 你喜歡什麼效果自...