**关闭。**这个问题是not reproducible or was caused by typos。目前不接受答复。
此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这一个是解决的方式不太可能帮助未来的读者。
两年前关闭。
Improve this question
我正在尝试一个来自GNU C编程教程(第93页)的例子,它使用了列出的一些数学库例程。
#include <stdio.h>
#include <math.h>
int main() {
double my_pi;
my_pi = 4 * atan(1.0);
/* Print the value of pi, to 32 digits */
printf("my_pi = %.32f\n", my_pi);
/* Print value of pi from math library, to 32 digits */
printf("M_PI = %.32f\n", M_PI);
return 0;
}
当我使用MinGw编译文件'main.c'时,使用以下命令:
gcc main.c -o main -lm
它给出以下错误:
main.c:16:9: error: stray '\32' in program
16 : }
: ^
2条答案
按热度按时间dced5bon1#
发生错误的原因是使用Turbo C编辑“main.c”,这会在大括号的末尾添加→字符。这就是为什么编译失败在MinGW...
ct2axkht2#
代码
\32
是一个ASCII控制字符^Z
又名EOF
-文件结束(参见https://en.wikipedia.org/wiki/End-of-file#EOF_character)。它被附加在文本文件的末尾,并带有一些(类似DOS?)编辑工具-或者您复制了一个源代码并通过一些shell命令将其粘贴到一个文件中,这导致了附加EOF字节。尝试使用其他编辑工具从
main.c
文件中删除最后一个字节。也许在结束括号后添加一个换行符会是一个好的开始。