我一直在学习 C++,并且刚刚开始学习 C,但我遇到了一个奇怪的问题,它阻止了我的编译器编译。有几个杂散的“\342”和任何错误。
好吧,我现在知道这些是由使用非 ASCII 字符引起的,但其余帖子的解决方案非常简单。他们使用不同的“”符号,因为他们通过复制粘贴获得了代码。
我刚刚写了两个“int main”(我评论了一个或另一个 block 来测试代码......也不介意葡萄牙语。它根本不相关):
#include <stdio.h>
#include <stdlib.h>
/*
int main()
{
float x;
printf("Introduza um numero com bastantes casas decimais: \n");
scanf("%f", &x);
printf("Com 2 casas decimais: %.2f \nCom todas as casas decimais %f", x, x);
return 0;
}
*/
int main()
{
float var;
printf("Introduza um numero com bastantes casas decimais: \n");
scanf("%f", &var);
printf("Com 2 casas decimais: %.2f \nCom todas as casas decimais: %f", var, var);
}
第一个 block 不起作用,它给了我这个错误:
||=== Build: Debug in ExplicAna (compiler: GNU GCC Compiler) ===|
/home/meneses/Cê/ExplicAna/main.c||In function ‘main’:|
/home/meneses/Cê/ExplicAna/main.c|10|error: stray ‘\342’ in program|
/home/meneses/Cê/ExplicAna/main.c|10|error: stray ‘\201’ in program|
/home/meneses/Cê/ExplicAna/main.c|10|error: stray ‘\240’ in program|
/home/meneses/Cê/ExplicAna/main.c|10|error: stray ‘\342’ in program|
/home/meneses/Cê/ExplicAna/main.c|10|error: stray ‘\201’ in program|
/home/meneses/Cê/ExplicAna/main.c|10|error: stray ‘\240’ in program|
/home/meneses/Cê/ExplicAna/main.c|10|error: stray ‘\342’ in program|
/home/meneses/Cê/ExplicAna/main.c|10|error: stray ‘\201’ in program|
/home/meneses/Cê/ExplicAna/main.c|10|error: stray ‘\240’ in program|
/home/meneses/Cê/ExplicAna/main.c|10|error: stray ‘\342’ in program|
/home/meneses/Cê/ExplicAna/main.c|10|error: stray ‘\201’ in program|
/home/meneses/Cê/ExplicAna/main.c|10|error: stray ‘\240’ in program|
在这一行:
printf("Com 2 casas decimais: %f \nCom todas as casas decimais %f", x, x);
我把那行代码擦掉了三遍,又重写了一遍,但什么也没有。 "看起来完全一样。
然后我编写了完全相同的其他代码,令我惊讶的是它有效!
我错过了什么?
我很担心,因为这是我第一次编译C,担心将来可能会再次造成伤害。
最佳答案
将两个代码行中的 var
修复为 x
后,第二个代码(工作)行以以下八位字节结束:
x , sp x ) ; lf
78 2c 20 78 29 3b 0a
但是第一个(损坏的)以以下内容结尾:
x , sp x ) ; lf
78 2c 20 78 29 3b e2 81 a0 e2 81 a0 e2 81 a0 e2 81 a0 0a
换句话说,夹在分号和换行符之间:
e2 81 a0 e2 81 a0 e2 81 a0 e2 81 a0
您的第一个代码行中确实在分号之后、换行之前隐藏了字符,您的编译器对此表示不满。
关于c - 我的编译器有错误吗?两个相同的代码文件,但只有其中之一有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36435616/