我只是在C中學習一些指針的東西,我碰巧知道使用*可以對指針進行取消引用。所以我寫了下面的代碼來檢查。給定的代碼有什麼問題
#include<stdio.h>
#include<string.h>
char *findChar(char *s, char c){
while(*s!=c){
s++;
}
return s;
}
int main(){
char myChar='a';
const char myString[]="Hello abhishek";
char *location;
location = findChar(myString,myChar);
puts(location);
char temp = *location;
printf(temp);
}
我假設temp應該得到字符指針位置指向的值,但是這個程序給了我一個段錯誤。請澄清我做錯了什麼?
如果你的字符串中沒有'a',你的findchar函數將跳出界限。另外,請考慮使用調試器來查找aix提到的故障。 –