1. 程式人生 > >'\0'的書寫錯誤以及在字串中的簡單作用

'\0'的書寫錯誤以及在字串中的簡單作用

在用遞迴寫strlen函式時,感覺道理很簡單(判斷一下字串最後一個字元'\0')這個程式就出了

但是在我的程式中卻出了錯,我除錯不出來錯誤,程式很短,肉眼看了好多遍,最後更是在網上找到程式碼,一步一步找.

這就是我的程式碼:(錯誤程式碼)

#include <stdio.h>
#include <stdlib.h>
 
int Strlen( char* str) 
{ 
	if (*str=='/0')
	{
		return 0;
	}
	return 1 + Strlen(str+1);
} 
int main() 
{ 
	char* p = "abcdef";   
	printf("%d\n", Strlen(p));  
	system("pause");
	return 0; 
}

很無奈的最後發現我把 '\0'寫成了'/0'.

'\0'是字串中的最後一個隱藏字元,‘它在字串中標誌著結尾,系統讀這個字串就會一直往後讀,讀到'\0'位置 .