将C文件的输出重定向到另一个文件时出现C编程错误

将C文件的输出重定向到另一个文件时出现C编程错误,c,compiler-errors,C,Compiler Errors,我目前有一个名为assign1.c的文件,当我使用SSH连接到远程Linux终端时,该文件可以正确编译和运行 #include <stdio.h> #define PI 3.141593 int main(){ int degrees = 0; double radians; printf("Degrees to Radians \n"); degrees = 0; radians = degrees*PI/180; printf

我目前有一个名为assign1.c的文件,当我使用SSH连接到远程Linux终端时,该文件可以正确编译和运行

#include <stdio.h>
#define PI 3.141593

int main(){
    int degrees = 0;
    double radians;

    printf("Degrees to Radians \n");

    degrees = 0;
    radians = degrees*PI/180;
    printf("%6i %9.6f \n", degrees, radians);

    degrees = 10;
    radians = degrees*PI/180;
    printf("%6i %9.6f \n", degrees, radians);

    while( degrees < 350){
        degrees +=10;
        radians = degrees*PI/180;
        printf("%6i %9.6f \n", degrees, radians);
    }

    degrees = 360;
    radians = degrees*PI/180;
    printf("%6i %9.6f \n", degrees, radians);

}
然而,当我试图编译gcc-oprog1 prog1.c时,我收到了一条错误消息

prog1.c:1:1: error: unknown type name âDegreesâ
 Degrees to Radians 
 ^
prog1.c:1:12: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before âRadiansâ
 Degrees to Radians 
            ^

我是C语言编程新手,在理解错误信息方面仍然有问题,有人真的理解我的错误信息吗?

我对您试图实现的目标有点困惑,所以我将告诉您完整的故事

因此,您有一个用C编写的程序(即文本文件)。由于计算机不理解文本,我们需要用计算机语言翻译它。因此,您将程序assign1.c编译成一个可执行文件(即,将c翻译成机器可读的形式):

然后,运行assign1:

./assign1
,它在标准输出上(即在屏幕上)产生一系列输出。您可以使用重定向将其写入文件:

./assign1 > prog1.c
现在,prog1.c文件是一个简单的文本文件,其中包含程序生成的输出(扩展名无关)。尝试使用gcc编译是没有用的,因为它不是有效的C程序,而是包含程序的输出

现在,如何处理这个文件?好吧,随你的便。你可以看看它:

cat prog1.c

减1.c


(q从less中退出),或将其发送给朋友或其他任何人。

我对您试图实现的目标有点困惑,因此我将告诉您完整的故事

因此,您有一个用C编写的程序(即文本文件)。由于计算机不理解文本,我们需要用计算机语言翻译它。因此,您将程序assign1.c编译成一个可执行文件(即,将c翻译成机器可读的形式):

然后,运行assign1:

./assign1
,它在标准输出上(即在屏幕上)产生一系列输出。您可以使用重定向将其写入文件:

./assign1 > prog1.c
现在,prog1.c文件是一个简单的文本文件,其中包含程序生成的输出(扩展名无关)。尝试使用gcc编译是没有用的,因为它不是有效的C程序,而是包含程序的输出

现在,如何处理这个文件?好吧,随你的便。你可以看看它:

cat prog1.c

减1.c


(q从less退出),或将其发送给朋友或其他任何人。

当您将其重定向到源文件时,您将使用第一个程序的输出覆盖原始源文件。您可能打算将第一个程序的输出通过管道传输到第二个(已编译)程序,例如
/assign1 |/prog1
,当您将其重定向到源文件时,您将用第一个程序的输出覆盖原始源文件。您可能打算将第一个程序的输出通过管道传输到第二个(已编译)程序,例如
/assign1./prog1