我目前有一个名为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);
}
我用过./assign1&gt; prog1.c重定向并将输出发送到另一个文件prog1.c
Degrees to Radians
0 0.000000
10 0.174533
20 0.349066
30 0.523599
40 0.698132
50 0.872665
60 1.047198
70 1.221731
80 1.396264
90 1.570796
100 1.745329
110 1.919862
120 2.094395
130 2.268928
140 2.443461
150 2.617994
160 2.792527
170 2.967060
180 3.141593
190 3.316126
200 3.490659
210 3.665192
220 3.839725
230 4.014258
240 4.188791
250 4.363324
260 4.537857
270 4.712389
280 4.886922
290 5.061455
300 5.235988
310 5.410521
320 5.585054
330 5.759587
340 5.934120
350 6.108653
360 6.283186
然而,当我尝试编译gcc -o prog1 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编程的新手,仍然无法理解错误消息,任何人都能理解我的错误消息?
答案 0 :(得分:0)
我对你想要达到的目标感到有点困惑,所以我会告诉你完整的故事。
所以,你有一个用C语言编写的程序(即文本文件)。由于计算机不理解文本,我们需要用计算机语言翻译它。所以,你有程序assign1.c,你在可执行文件中编译它(即将C翻译成机器可读的形式):
gcc -o assign1 assign1.c
然后,你运行assign1:
./assign1
,它在标准输出(即屏幕上)上产生一堆输出。您可以使用重定向将其写入文件:
./assign1 > prog1.c
现在,文件prog1.c是一个简单的文本文件,其中包含程序生成的输出(扩展名无关紧要)。尝试使用gcc编译它是没用的,因为它不是一个有效的C程序,而是包含程序的输出。
现在,该文件怎么办?好吧,无论你想要什么。你可以看看它:
cat prog1.c
或
少prog1.c
(q从较少退出),或将其发送给朋友或......无论如何。