主.c:16:9:错误:在C中的程序中出现杂散'\32'[已关闭]

i5desfxk  于 2023-05-06  发布在  其他
关注(0)|答案(2)|浏览(165)

**关闭。**这个问题是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 :      }

      :       ^
dced5bon

dced5bon1#

发生错误的原因是使用Turbo C编辑“main.c”,这会在大括号的末尾添加→字符。这就是为什么编译失败在MinGW...

ct2axkht

ct2axkht2#

代码\32是一个ASCII控制字符^Z又名EOF-文件结束(参见https://en.wikipedia.org/wiki/End-of-file#EOF_character)。它被附加在文本文件的末尾,并带有一些(类似DOS?)编辑工具-或者您复制了一个源代码并通过一些shell命令将其粘贴到一个文件中,这导致了附加EOF字节。
尝试使用其他编辑工具从main.c文件中删除最后一个字节。也许在结束括号后添加一个换行符会是一个好的开始。

相关问题