C语言 预处理器指令后出现意外标记-应为换行符

bis0qfac  于 2023-06-21  发布在  其他
关注(0)|答案(2)|浏览(182)

这是我的代码。

#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:预处理器指令后出现意外标记-应为换行符

vuktfyat

vuktfyat1#

从文件中删除所有非ASCII字符,或者将编辑器和编译器设置为接受UTF-8。

2jcobegt

2jcobegt2#

我发现这个错误可能是由于#define构造不佳而出现的,例如:

#define USE_THIS  true;

...

#if USE_THIS
<some code>
#endif

显然你不用分号。
这与上面的示例并不完全相关,但我在这里包含了它,以防有人搜索此错误消息。

相关问题