如果孤独感 发表于 2020-4-10 21:49:37

提问

定义一个数组str后
为什么
while(*str != '\n');
会报错而
str1 != '\n'
不会

璀璨·狸 发表于 2020-4-10 21:55:16

http://c.biancheng.net/view/281.html

liuzhengyuan 发表于 2020-4-10 22:05:58

本帖最后由 liuzhengyuan 于 2020-4-10 22:28 编辑

str 是一个字符串

总不能用 '\n' 字符来比较吧{:10_257:}

P.S. '\n' 算字符的

永恒的蓝色梦想 发表于 2020-4-10 22:16:40

拿数组和字符比较?

sunrise085 发表于 2020-4-10 22:45:49

本帖最后由 sunrise085 于 2020-4-10 22:47 编辑

按理说不应该有错啊。
在有限范围内,数组名可以用*将至当做指针使用。
你那里报到什么错?
发一下错误提示

你上面定义的数组名和下面while中写的是否一样?

#include <stdio.h>
int main()
{
    char str1="abcd";
    while (*str1!='\n'){
      printf("%s\n",str1);
      break;
    }
    printf("%c",*str1);
    return 0;
}

运行结果
abcd
a
页: [1]
查看完整版本: 提问