没看懂为啥'nm',不是字符,这个解释我感觉有点矛盾,希望各位帮忙看一下。
字符分为字符串和单个字符,在c语言中,单个字符用单引号括起来,例如‘a’,而字符串也是用双引号括起来,例如”abc”,这个是个命名规则,所以说,'nm'不是字符也不是字符串
nm是两个字符啊,得用双引号,单引号里不能有两个有效字符
'\n'虽然也是两个字符,但斜杠是转义符,不是实际有效字符,所以'\n'实际表示换行符,只是一个字符而已
解析里说的很清楚,单个字符' '以单引号括起来,‘nm’ 这里单引号括了两个字符了,D: '\n' 正确是因为反斜杠'\'是转义符,它不代表它本身反斜杠字符,如果要输出反斜杠应该是:‘\\’。
在C语言中,'nm'不是一个字符,而是两个字符'n'和'm'组成的字符串。字符串在C语言中是用一对双引号括起来的一串字符序列。例如,"Hello world"就是一个字符串。下面是一个例子,演示如何定义一个字符串变量并输出它的值:
#include <stdio.h>
int main() {
char str[] = "Hello world";
printf("%s\n", str);
return 0;
}
运行上面的代码,输出结果为:
Hello world
在上面的代码中,我们定义了一个名为str的字符数组,并初始化为"Hello world"。注意,字符数组的长度需要比字符串长度多1,因为还需要一个额外的字符来存储字符串的结束符'\0'。然后,我们使用printf函数输出字符串的值,%s是格式化字符串,用来表示要输出的是一个字符串。