我是C新手,我在指针方面遇到了一些问题。
在一个函数(用于打印单词)中,我有一个参数const char *description,它指向一个字符串或字符数组,比如“有一个模糊的可见面轮廓”。
在另一个函数中,我将有一个指针指向description中的第一个字符,然后继续移动,直到找到一个非空格。

char *pointerToFindFirstChar(char *description){
    /* Get my pointer to point to first char in description*/
    while (*pointerToFindFirstChar == ' ');
    pointerToFindFirstChar++;
    return pointer
}

但我不确定我怎么能做到。
我所要做的是找到字符串中第一个被描述指向的非空格字符,并将其存储在另一个指针中

最佳答案

试试这个:

char *pointerToFindFirstChar(char *description)
{
    while(*description == ' ')
        description++;
    return description;
}

注意,不必检查字符串末尾的空字节,因为当*pointer == '\0'时,while循环while上的条件为false,循环将无论如何结束。
去掉;行末尾的while是很重要的;否则,循环将没有主体,运行0次或无限次(因为pointer在循环中永远不会更改)如果它运行0次,那么增量将在退出循环之后发生。

关于c - C中的指针和数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7115451/

10-11 23:10
查看更多