<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • c語言字符串輸入函數(c語言函數大全及詳解)


    面試中常見的C語言字符串操作,快來看看,是否對你有幫助!

    面試必備——常見的C語言字符串操作

    字符串倒序輸出

    實現邏輯,通過strlen獲取字符串長度,然后通過 len/2 進行交叉賦值,這里需要注意,不需要考慮len是奇數還是偶數的問題。

    如果len是奇數,最后一個字符就不需要倒序,如果是偶數,最后兩個字符就倒序。

    #include “stdio.h”

    void rechange_str(char *str)

    {

    int i, len;

    char tmp;

    if (NULL == str) {

    return ;

    }

    len = strlen(str);

    for (i = 0; i < len/2; i ++) {

    tmp = str[i];

    str[i] = str[len-i-1];

    str[len-i-1] = tmp;

    }

    }

    int main(void)

    {

    char str[20] = “hello,world”;

    printf(“%sn”,str);

    rechange_str(str);

    printf(“%sn”,str);

    return (0);

    }

    程序輸出

    hello,world

    dlrow,olleh

    ——————————–

    Process exited after 0.02841 seconds with return value 0

    請按任意鍵繼續. . .

    整型轉字符串

    實現邏輯,每個整數看其轉換進制,從個位到十位百位都可以通過%操作加上/操作獲得,再用一個字符數組保存0-F。

    用個位數對應值轉為字符,注意轉換出的字符串是反向的,還要考慮傳入的若是負數如何處理,再用翻轉字符串完成最后整個操作。

    下面這段代碼需要好好研究一下,最好自己運行試試。

    #include “stdio.h”

    char *sky_itoa(int value, char *str, unsigned int radix)

    {

    char list[] = “0123456789ABCDEF”;

    unsigned int tmp_value;

    int i, j, k;

    if (NULL == str) {

    return NULL;

    }

    if (2 != radix && 8 != radix && 10 != radix && 16 != radix) {

    return NULL;

    }

    i = 0;

    k = 0;

    if (radix == 10 && value < 0) {

    tmp_value = (unsigned int)(0 – value);

    str[i++] = ‘-‘;

    k = 1;

    } else {

    tmp_value = (unsigned int)value;

    }

    do {

    str[i++] = list[tmp_value%radix];

    tmp_value /= radix;

    } while(tmp_value);

    str[i] = ‘国产精品区一区二区免费