你是说把main放到其它函数前面吗?这样当然会出错啦。你忘了函数调用前要先声明吗?你要在main之前先声明自定义的那几个函数,然后把函数实现放在main后面就不报错了
创新新互联,凭借十载的成都网站建设、做网站经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有成百上千案例。做网站建设,选成都创新互联。
#include stdio.h
#include math.h
int is_prime(int m)
{
int i;
if(m==1)
return 0;
for(i=2;im;i++) //for里面是分号不是逗号,而且到不了m。自身总是自身的因子。
if(m%i==0)
return 0;
//不能使用else,只有当所有循环结束了,才知道是素数。
return 1;
}
void main() //要么返回int,要么返回void,不能两个都用。
{
int n,c;
scanf("%d",n); //
c=is_prime(n);
if(c==1)
printf("prime\n");
else
printf("not prime\n");
}
循环错了 ,自己debug跟一下。这个问题帮你解决了你也不会学到什么,还不如自己解决,好好使用debug工具。编程不跟代码有啥意义?再说,你在百度上问这个问题的时间,问题估计已经解决了吧。你确定你只需要一个正确的答案?
//应该是3个数排序。楼主应该多看看书,再来编程序。错误多得也太离谱了!
#include "stdio.h"
int change(int *a,int *b,int *c);
void main()
{int a,b,c;
printf("请输入三个数字:");
scanf("%d%d%d",a,b,c);
change(a,b,c);
printf("%d%d%d\n",a,b,c);
}
int change(int *a,int *b,int *c)
{
int t;
if(*a*b)
{
t=*b;
*b=*a;
*a=t;
}
if(*b*c)
{
t=*c;
*c=*b;
*b=t;
}
if(*a*b)
{
t=*a;
*a=*b;
*b=t;
}
return 0;
}
1、加入头文件#include stdio.h
2、将LinkList的所有声明和实现打在主函数前
楼主,我改了一下,改完才发现与楼上一下,给你一个参考吧
#include stdio.h
#include string.h
#include stdlib.h
int ntext=0;
char text[10]={0}; //将其定义成为外部变量,你那样定义是不可以的,大小变成只有一个元素了
void Menu();
void Entertxt(char text[]); /*输入*/
/*输入模块*/
void Entertxt(char text[])
{
char c;
int i=ntext;
system("cls");
printf("输入@结束输入并返回主菜单\n请输入内容\n");
printf("%s",text);
fflush(stdin);
while ((c=getchar())!='@')
{
text[i]=c;
i++;
}
ntext=i;
if(c=='@')
Menu();
}
/*菜单显示模块*/
void Menu() //这里不需要接收参数
{
char n;
system("cls");
if (ntext==0)
{
printf("\t\t\t\t----1.输入内容--\n");
printf("\t\t\t\t--选择1 继续输入--\n");
}
else
{
printf("\t\t\t\t----1.继续输入--\n");
printf("\t\t\t\t--选择1 继续输入--\n");
}
while (1)
{
fflush(stdin);
n=getchar();
switch (n)
{
case '1': Entertxt(text);break;
default : printf("输入错误!" );break;
}
}
}
/*主函数*/
void main()
{
char n;
system("cls");
printf("\t\t\t\t--输入1 输入内容--\n");
while (1)
{
fflush(stdin);
n=getchar();
switch (n)
{
case '1': Entertxt(text);break;
default : printf("输入错误!");break;
}
}
}