今天寫了一個程式,定義變數如下
char a[10],*p,*q;
然后我定義了一個函式輸入了陣列a的值,假如是abc。當我用p=a賦值的時候開除錯器p的值是abc,按道理不應該是把陣列的第一個元素賦值給了p嗎?不應該是a嗎?我用*p=*a,p和a就出現燙了。*p和*a的值都是a。
我又定義了一個變數char *t,在我使用p=a賦值的前提下,我讓t=p或者讓*t=*p都有問題,但是當我定義變數改成了char t,讓t=*p就對了,這是為什么呢??按道理型別不一致啊。
程式最后正確如圖。

uj5u.com熱心網友回復:
LZ應該找本入門級別的教程好好看看,p=a后,*p是什么,*(p+1)是什么?它們和a[0],a[1]是什么關系?弄清楚了就明白了。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/148878.html
標籤:C語言
下一篇:求助一個小問題
