簡體   English   中英

在不計算空格的情況下查找字符串的長度

[英]Find Length of string without counting spaces

我正在制作查找用戶輸入的字符串長度的程序。 一切正常,但程序也計算空間。 那么,如何在不計算空格的情況下找到字符串的長度?

  1. 使用正確的尺寸類型
  2. *(p + x) === p[x] - 其中p是指針, x具有整數類型。 您的兩個 function 完全相同。
  3. 使用具有某些含義的名稱string_array不會提供太多信息,並且絕對不表示它正在返回不帶空格的字符串的長度。
  4. 不要使用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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM