c - 为什么''不起作用?“预期的表达式,空字符常量”
问题描述
#include <stdio.h>
#define NUMLINES 6
void main(){
int i, indent, howmany;
void display(int,char);
for(i = 1; i <= NUMLINES; i++){
display(NUMLINES + 1 - i, '');
display(2 * i - 1, '*');
printf("\n");
}
}
void display (int howmany, char symbol){
int i;
for(i = 1; i <= howmany; i++) printf("%c", symbol);
}
错误提示“预期的表达式,空字符常量”。为什么''不起作用?
解决方案
您的意思是' '
(space) 而不是''
(empty),因为后者不是有效的字符常量。以下是标准在第 6.4.4.4 节中对其的定义:
character-constant: 'c-char-sequence 'L' c-char-sequence 'u' c-char-sequence 'U' c-char-sequence '</p>
c-char-sequence: c-char c-char-sequence c-char
c-char:源字符集的任何成员,除了单引号 '、反斜杠 \ 或换行符转义序列
推荐阅读
- python - Python:你能用存储在变量中的值命名一个对象吗?
- java - Spring Boot 2.5.0 生成 plain.jar 文件。我可以删除它吗?
- python - Pandas - 绘制 P1D 时间间隔
- c# - 带有 Uno 平台应用程序的 Socket Err 10013
- python - 球碰撞代码不起作用,球粘在一起
- gcc - 为什么在尝试配置 make 时出现此错误?
- sql-server - SQL有两列不同的计数
- c# - 用于在数据网格中绑定的多种属性类型
- flutter - 如何在 Flutter 中检查 DateTime 初始化变量中的可为空值
- swift - 为什么 Data(bytes:count:) 需要一个可变变量作为其指针的源?