预处理器指令后出现意外标记-应为换行符
unexpected tokens following preprocessor directive - expected a newline
这是我的代码。
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int a, b, somma, massimo;
printf("Inserire il primo valore: A =");
scanf_s("%d", a);
printf("Inserire il secondo valore: B =");
scanf_s("%d", b);
if (b > 0) { //1
printf("B = %d e positivo", b);
} else {
printf("B = %d e negativo", b);
}
if (a % 2 == 0){ //2
printf("A = %d e pari", a);
} else {
printf("A = %d e dispari", a);
}
somma = a + b; //3
printf("A + B = %d", somma);
if (a < 0) { //4
a = -a;
}
if (b < 0) {
b = -b;
}
massimo = a + b;
printf("Il numero più grande ottenibile con questi due numeri A, B e %d", massimo);
}
当我试图编译时,它会给我这个警告:
1> c:\users\mario\documents\visual studio 2015\projects\controlla a e b\main.c:错误C4335:检测到Mac文件格式:请将源文件转换为DOS或UNIX格式
1> c:\users\mario\documents\visual studio 2015\projects\controlla a e b\main.c(1):警告C4067:预处理器指令后出现意外令牌-应为换行
从文件中删除所有非ASCII字符,或将编辑器和编译器设置为接受UTF-8。
我发现这个错误可能是由于构造错误的#define而出现的,例如:
#define USE_THIS true;
...
#if USE_THIS
<some code>
#endif
显然你没有使用分号。
这与上面的例子并不完全相关,但我在这里包含了它,以防有人搜索此错误消息。
相关文章:
- 如何防止clang格式在流运算符调用之间添加换行符<<
- C/C++ - 查询平台相关的换行符(用于内存映射文件)
- 在 Stream C++ 文本之前有一个额外的换行符
- 流:CSV 文件中的换行符
- 如何在三元条件运算符中添加换行符和连接? :在 C++ 中
- Clang-格式:在多行语句之后的换行符上打开大括号
- 在输出流中插入换行符
- 防止控制台在通道字符(在 c++ 中)中输入空格(即空格、制表符和换行符)
- QProcess::readAllStandardOutput() 和换行符
- 如果有换行符,clang 格式不会附加大括号
- 提取后返回换行符的C++istream.get()
- 如何在出现换行符之前将多个整数作为输入?
- 正则表达式 获取两个换行符之间的文本
- 包含换行符分隔的单词的文件和C++中这些单词的字符串向量的大小是否相同?
- 在字符串中输入换行符
- 从文本文件中读取数据并删除所有换行符空格,并在 C++ 控制台中显示
- 如果在循环中给cin一个意外的输入,则会自动输入C++换行符作为输入
- 从文件读取数据时意外标记"换行符"附近出现语法错误
- 意外标记"换行符"附近的语法错误
- 预处理器指令后出现意外标记-应为换行符