你的代码没有任何语法问题,可以编译运行(当然,逻辑上完全不正确,你对素数定义理解不够)你没有把开发工具及完整的出错信息发上来,可能的问题是1。你项目建错了(这个与你的开发工具有关)若是VS,要建立控制台应用2。你上次编译运行程序没有退出,导致你程序无法写入,用任务管理器结束进程,重新生成就可以3。你的安全软件阻止了你程序的生成,特别你把项目建立在C盘,关闭安全软件,将项目移动到其它非系统盘可以解决而你程序的逻辑问题,主要是算法的错你的算法是只要不被2,3及其开方带整除的就是素数,当然是错的,上面的125就是例子而实际是只要被2以上,k以下所有自然数带除的,都不是素数,所以要这样改#include<stdio.h>#include<math.h>int main(){ int i,m,k; printf("请输入一个数:"); scanf("%d",&m); k = sqrt (m); for(i=2; i<=k; i++) if (k%2==0) { printf("这不是素数。"); return 1; } printf("这是素数。"); printf("%d",m); return 0;}