C 编程练习:数组中的质数,使用 for 循环打印

C programming exercise: prime numbers in an array, print using for loop

我对这个 Whosebug 社区还很陌生。同时,我对编程(C 语言)还很陌生,我正在大学学习计算机科学专业。

我得到 an assignment,我需要打印保存在数组中的素数。虽然在网上搜索了一些资料,但没有找到有用的东西(同时感觉自己的基础超级差...)。

我需要打印数组中的内容,里面都是素数;前 10 个质数应该保存在我的数组中。

但是,我遇到了错误,我的编译器没有打印任何内容!我在 Windows 10.

上使用 cygwin

这是我的代码,

#include<stdio.h>
int main()
{
int primes[10] = {1,2,3,5,7,11,13,17,19,23}; // saving the prime numbers! //
int i;
for(int i=0; i<10; i++)
{
        printf("prime %d, ", primes[i]);
}
return 0;
}

和this是我得到的。

我试过其他C语言的在线编译器(https://www.jdoodle.com/c-online-compiler, https://www.onlinegdb.com/online_c_compiler), and I got the desired outcomes. There could be wrong on cygwin compiler (and also this website: https://www.tutorialspoint.com/compile_c_online.php。有关于full disk的错误?不知道是什么错误...)。

$gcc -o main *.c
main.c:11:1: fatal error: error closing /tmp/cclqdgG9.s: No space left on device
 }
 ^
compilation terminated.

我做错了什么?另外,对我的代码有什么建议?这是最好的解决方案吗?

编辑:我写了一些关于不使用main函数的东西,但是我看错了我的下一个练习哈哈

你的代码很好,除了你有两个变量都叫 i。摆脱你不使用的那个。

您编译了两次代码,但从未 运行。我不确定你为什么这样做或者你想知道什么,因为你没有问一个具体的问题。

在线编译器遇到磁盘已满错误。您可以通知他们或等待他们修复它。除了使用其他在线编译器之外,您无能为力。

您对作业的 link 不能是整个作业,除非有一些上下文。例如,它没有说要编写程序或创建库或类似的东西。它列出了一些要求,但不清楚它们的要求是什么。所以你是否应该创建一个程序,没有办法知道。