我有任務計算隨機字中的字母數,直到輸入「End」。我不允許使用strlen();功能。這是我目前的解決方案:如何在不使用strlen的情況下計算字符串的字符數
#include <stdio.h>
#include <string.h>
int stringLength(char string[]){
unsigned int length = sizeof(*string)/sizeof(char);
return length;
}
int main(){
char input[40];
while (strcmp(input, "End") != 0) {
printf("Please enter characters.\n");
scanf("%s", &input[0]);
while (getchar() != '\n');
printf("You've entered the following %s. Your input has a length of %d characters.\n", input, stringLength(input));
}
}
stringLength值不正確。我究竟做錯了什麼?
'* string'是單個字符,所以'的sizeof(*串)'是一個字符,這始終是'1'的大小。 – Barmar
您需要編寫一個循環來計算字符,直到它到達空終止符。 – Barmar
指針不是數組不是指針。 – Olaf