)我同學也寫了乙個,因為自己在一開始測試時,寫了這麼一句
char *sourse = "abcdefg";
然後再呼叫函式,結果出錯。原因是用字串給指標賦值,就相當於在記憶體內寫了一常量,不能再變了。花了一整下午沒弄懂,還老錯!
同學幫我糾錯,也順便寫了乙個,比我的好。
#include #define nul '\0'#include答案有bug。char* del_substr (char *str, char
const *substr)
}else str+=1
;
if(i==len)
*(str-len)='\0'
;
return
string
; }
}return0;
}int main (void
)
#define null 0#define nul '\0'
#define true 1
#define false 0#include
char *match (char *str, char
const *want)
return
str;
}char* del_substr(char *str, char
const *substr)
if (*str ==nul)
return
false;
while (*str++ = *next++)
;return
str;
}int main (void
)
/*注意錯誤,又糾結了我幾個小時…………此程式的錯誤之處在於,i增加時,陣列的內容會變化,
**例如:i=1,j=4時,即3和9時,arr[4]會變成0;當i=2時,
**又會將arr[4]變為1,而應該把那些一開始賦值為0的元素
**給剔除掉。
*/#define max 50
int main(void
) }
}int c=0
;
for (i = 0; i < max; i++)
printf("%d
", c);
}
這是正確的。
#define max 50int main(void
) *arr = 1
; *(arr + 1) = 1
;
for (i = 1; i < max; i++)}}
int c=0
;
for (i = 0; i < max; i++)
printf("%d
", c);
}
C和指標 第六章 指標
1.指標在進行間接訪問之前,確保已被初始化。否則,會給指標分配乙個非法位址,輕則報錯,重則在毫不相干的地方報錯 指標偶爾包含合法位址 2.為了測試乙個指標變數是否為null,你可以將它與零值進行比較 3.注意 指標變數可以作為左值使用,並不是因為它們是指標,而是因為它們是變數。間接訪問指定了乙個特定...
第六章 指標
1.多位元組資料的位址是在最左邊還是最右邊的位置,不同的機器有不同的規定,這也正是大端和小端的區別,位址也要遵從邊界對齊 2.高階語言的乙個特性就是通過名字而不是位址來訪問記憶體的位置,但是硬體仍然通過位址訪問記憶體位置 3.記憶體中的變數都是義序列的0或1的位,他們可以被解釋為整數或者其他,這取決...
C語言第六章 指標
一,什麼是指標 2.其次要了解計算機的cpu和記憶體條之間的關係 3.指標的含義 二,指標的定義 1.指標變數的基本定義 includeint main void 2.指標變數的解釋 3.經典的指標程式 互換兩個變數的值 includevoid fun int p,int q int main vo...