1樓:匿名使用者
這個演算法最後的時候
,p和q都是指向a的,在最後這個時候a的結構是,q之前的是所有的除了版*之外權
的字元。q之後的都是原來a裡面的資料,對於這個時刻是髒資料。
最後把q指向的那個位置賦值為\0可以在遍歷a的時候,不遍歷到髒資料,而這個時候p正好指向的就是\0,所以*q=*p
2樓:匿名使用者
迴圈結束條件是*p==0,因此這句是給*q指向的字串末尾賦值字串結束符0,也可以寫*q=0;
3樓:匿名使用者
賦值字串結束符'\0'
c語言指標問題 10
4樓:匿名使用者
最好貼上完整程bai序 或標註有du行號。
提示已zhi經很明顯,74行是ptr重複宣告dao了(這一專段裡面沒看到
屬重複宣告,所以應該在它前面的**段裡),且不能用uint8_t型別的值去初始化uint16_t型別的例項(這兩個型別是定義的類還是直接typedef?)
78行,表示式必須是指向物件型別
5樓:匿名使用者
ptr重複申明,
兩個型別不一樣;
表示式必須有指向物件型別的指標
6樓:歷史的文風
30分鐘徹底學會c語言指標
c語言指標問題
7樓:匿名使用者
#include
int main(void)
max=min=sz[0];
for(i=1;ip[i])
printf(" max = %d position %d\n",max,j+1);
printf(" min = %d position %d\n",min,k+1);
return 0;}
c語言指標問題
8樓:金色潛鳥
*tt 不加
抄 單引襲
號,'a' 裡無
bai空格du
。zhi
改好了dao。
#include
int main()
;scanf("%s",a);
for (tt=a; *tt !='\0'; tt++)if (( *tt >='a') && ( *tt <='z'))pp[*tt-'a']+=1;
for (i=0;i<26;i++) printf("%d ",pp[i]);
return 0;}
C語言這個F函式再指標C語言指標問題
28f為傳值呼叫。所以f中的修改不影響main中變數的值。輸出的還是原始值。即 4,3,5 選d29 a 4b a q b w q b q null a q 0 由於q已經賦值為null,再對 q賦值會引起程式崩潰。這個不對 b w p 指標間賦值,正確。c p a 也就是a a 正確。d p w ...
C語言NULL指標問題,C語言空指標是怎麼回事
不知道你用的系統和gcc的版本是什麼?在我所使用的linux工作站以及freebsd工作站上均未出現此問題,輸出均為 null 字串,在soliras系統上測試,兩個結果均為段錯誤,沒有出現你所說的現象。出現段錯誤的原因有 1 引用乙個包含非法值的指標 例如空指標。2 未得到正確的許可權的時候進行訪...
C語言的指標問題
這兩個程式都只有乙個主函式,當你需要呼叫函式的時候,就涉及到引數傳遞的問題了。這時如果你要在呼叫的函式中直接改變實參的值的話,引數傳遞就必須傳遞位址,也就是要用到指標了。如果你只是傳遞引數值的話,在呼叫的函式中,會為形參分配臨時的儲存空間,把實參的值傳遞給它,也就是說傳遞的只是值。可能你是剛開始接觸...