while(*(mychar ++))何时会停止

问题描述 投票:0回答:2

我有以下代码:

void prepareInput(char* s){
    while ( *(s++) ){
        if(*s == ' ' || *s == '\n')
            *s = '\0';
    }
    return;
}

*(s++)返回什么将导致while循环停止?

c
2个回答
2
投票

正在找到Null终止符。


1
投票

与其他情况相同,当该表达式的值为FALSE时。

换句话说,它与while ( (*(s++)) != 0 ){.....相同。

基本上,它正在尝试为string查找空终止符,循环将继续进行直到找到空终止符(having a value 0)。

© www.soinside.com 2019 - 2024. All rights reserved.