我们已经在我的Uni中开始进行C编程,而且我似乎已经陷入了第一道障碍。我非常简单的程序不会打印到终端。代码:
#include "stdio.h"
int main(){
printf("Memory size for type %s = %lu \n", "double", sizeof(double));
return 0;
}
我已经使用了所有的google-fu,并且发现我显然应该使用vprint
,但它不会使用三个参数,只有两个。另外,奇怪的是,打印到文件工作!见截图:
答案 0 :(得分:1)
size_t
的格式说明符(sizeof
的返回类型)为%zu
。
printf("Memory size for type %s = %zu \n", "double", sizeof(double));
答案 1 :(得分:0)
好吧,显然,当我只是运行程序时,Clang将输出打印到与代码相同的目录中的a.out
,并且我无能为力。无论如何,只要代码有效 - 意味着我可以将其打开,并且我将使用./a.out
检查我的工作。
答案 2 :(得分:0)
根据您的屏幕截图,这里似乎存在一种误解:
gcc 1.c
gcc用于编译程序(创建可执行文件,这里使用源文件1.c),而不是运行它。该程序可能已经以“a.out”的名称编译。
使用以下程序编译程序时
gcc 1.c -o 1.txt
您实际上正在使用gcc编译程序,并使用选项-o创建名称为1.txt的可执行文件(程序可以命名为您想要的任何名称,或几乎所有)
然后键入
./1.txt
您实际上正在运行程序(1.txt)并且您有预期的输出。