【发布时间】:2021-02-25 09:02:31
【问题描述】:
我的代码:
#include <stdio.h>
int main() {
const int LENGTH = 10;
const int WIDTH = 5;
const char NEWLINE ='\n';
int area;
area = LENGTH * WIDTH;
printf("value of area : %d", area);
printf("%c", NEWLINE);
return 0;
}
在上面的代码中输出:
value of area: 50
Process returned 0 (0x0) execution time : 2.909 s
Press any key to continue.
插入了一个新行,但是当我更改 NEWLINE="\n" 尽管知道它是 char 类型时,编译器没有提示错误,也没有打印出换行符。为什么???
另外,我将代码修改为,
#include <stdio.h>
int main() {
const int LENGTH = 10;
const int WIDTH = 5;
const char NEWLINE ='\n';
const char k="hjk";
int area;
area = LENGTH * WIDTH;
printf("value of area : %d", area);
printf("%c", NEWLINE);
printf("%c", k);
return 0;
}
输出只是计算的面积和新行,但没有打印出k。我也觉得这很奇怪!可以给点建议吗?
由于我是 C 的初学者,请对我的建议提出足够的建议并指出我的错误。
【问题讨论】:
-
您是否启用了编译器的所有警告?
-
'\n'是一个字符,"\n"是一个字符串常量......
标签: c char constants c-strings