我是 ubuntu 新手,所以请耐心等待。
我需要为我大学的一门课程创建一个基于 C 的程序。我使用openSUSE作为操作系统和控制台作为我在大学实验室时的终端仿真器。
所以基本上我需要在我的系统上安装 openSUSE 或使用 VM 来安装。但我懒得这么做,所以我尝试在我的 Ubuntu 而不是 openSUSE 上运行它。
但是,Ubuntu 的终端上似乎没有 C 代码可以运行。编译成功,但没有运行,或者至少printf
没有运行。
这是我的代码,非常非常简单:
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
int main()
{
printf("test");
return 0;
}
当我编译它时,gcc test.c -o test
一切正常,并且我得到了一个可执行文件。
然后我尝试通过 运行它./test
,但printf
没有打印。没有显示任何错误或警告。
我是否遗漏了什么?
注:我的gcc
是新的,应该没有问题。
答案1
这是您的程序的输出:
文本printf ("test");
已打印,您可以在行前看到它shubham@shubham-pc:~$
由于程序中没有\n
,所以末尾不会打印换行符,因此控制台的默认行会在其后打印
为了解决这个问题,你的程序应该是这样的:
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
printf("%s \n","test");
return 0;
}
我在这里所做的事情是,我使用格式字符串(%s
)来打印并在其后test
添加了换行符( )。\n
编辑后的输出如下: