c - while ( *(mychar++)) 什么时候停止

标签 c pointers while-loop

我有以下代码:

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


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

最佳答案

与其他情况相同,当该表达式的计算结果为 FALSE 时。

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

基本上,它试图找到字符串的空终止符,循环将继续进行,直到找到空终止符( having a value 0 )。

关于c - while ( *(mychar++)) 什么时候停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58987959/

相关文章:

c - __thread 上的夹板 barfs,它是 C99 的一部分

c - 如何检查结构中未使用的成员?

c++ - *&var 是多余的吗?

c - 在文件中打印时无限循环

c - 为什么下面的代码不打印值 10?

c++ - 如果我将右值分配给类的对象,类的指针成员会发生什么情况?

java - java最大和最小输入的建议

java - 如何请求 n 个数据点(x 和 y 坐标)的集合,直到 java 程序从第一个坐标读取空行?

Python:如何将while循环的值之和存储到一个变量中?

c - scanf 注册新的转换说明符