我正在制作查找用戶輸入的字串長度的程式。一切正常,但程式也計算空間。那么,如何在不計算空格的情況下找到字串的長度?
uj5u.com熱心網友回復:
- 使用正確的尺寸型別
*(p x)===p[x]- 其中p是一個指標并且x具有整數型別。您的兩個功能完全相同。- 使用具有某種意義的名稱
string_array并不會提供太多資訊,并且絕對不表示它正在回傳不帶空格的字串的長度。 - 不要使用
gets函式,因為它非常危險。使用限制字串中字符數的函式。例如fgets
size_t strlenNoSpaces(const char * restrict c)
{
size_t length = 0;
for(; *c; c )
{
if(*c != ' ') length ;
}
return length;
}
int main()
{
char string[30];
size_t length, i;
printf("Enter string: ");
fgets(string, 29, stdin);
length = strlen(string);
printf("\nLength of string using strlen.\n");
printf("Length of string %zu.\n", length);
length = strlenNoSpaces(string);
printf("\nLength of string not counting the spaces.\n");
printf("Length of string %zu.\n", length);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/384336.html
上一篇:C中的指標和地址問題
