我是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/