c语言编程总无法运行,检查错误说main有问题

程序没问题,vc6.0下了两个版本,每次运行都会在main哪里出错,但是程序编写确实没错,请高手指点
没有什么代码,就一个简单程序
#include<stdio.h>
main()
{
printf("abcd");
}就这么一个简单程序,无法运行,检查错误时,在main这个地方是黑色的

程序算法有问题,会出现死循环(用f10单步执行看看你就知道了),自己再检查一下吧

这类问题用链表来做很简单的,下面我用的是双向循环链表来实现的,可以参考一下

#include "stdio.h"
#include "stdlib.h"
#include "malloc.h"
#define NULL 0

struct List
{
int data;
char name[15];
struct List *next;
struct List *prior;
}List;

struct List * InitList(int n)
{//建立一个双向循环链表,以head为头结点,数据从1开始至n,返回head指针
struct List *head,*p,*q;
int i;
head=(struct List *)malloc(sizeof(struct List));
head->data=1;
printf("请输入第1个小孩的名字:");
scanf("%s",head->name);
head->next=head;
head->prior=head;
p=head;
for(i=2;i<=n;i++)
{
q=(struct List *)malloc(sizeof(struct List));
q->data=i;
printf("请输入第%d个小孩的名字:",i);
scanf("%s",q->name);
p->next=q;
q->prior=p;
q->next=head;
head->prior=q;
p=p->next;
}
return head;
}

void GetList(struct List *head,int w,int s)
{
struct List *p,*q;
p=head;
int i;
for(i=1;i<w;i++,p=p->next);
for(;p->next!=p;i++,p=p->next)
if((i-w+1)%s==0)
{
q=p->prior;
p->next->prior=p->prior;
p->prior->next=p->next;
printf("%s\n",p->name);
free(p);
p=q;
}
printf("%s\n",p->name);
}

void main()
{
int n,w,s;
struct List *head;
do
{
system("cls");
printf("请输入总小孩人数:");
scanf("%d",&n);
if(n>0)head=InitList(n); //可重复运行直至n<=0停止
else exit(0);
printf("请输入最先报数的小孩的位置及间隔:");
scanf("%d,%d",&w,&s);
GetList(head,w,s);
system("pause");
}while(1);
}追问

没必要这么麻烦的吧,是所有的程序都会出现这种问题

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-04
main()格式,检查下main函数上的函数结束符号 } 写上没,现在很难判段的,将你写的程序复上来,等大家帮你。
第2个回答  2011-03-04

我也用vc6.0试过了,没问题啊

追问

是的,通个软件用在别人电脑上没问题,我的电脑上总是这样问题。系统win7的,但另外个同学也是win7的但他的能运行成功啊

追答

这个就不太清楚了,好奇怪奥。

第3个回答  2011-03-18
我将你的代码复制到我的编辑器上一点问题也没有啊。
我也是用的VC6.0追问

应该是电脑问题,但是我不知道电脑哪里设置有问题?

追答

把VC6.0的路径加到环境变量里面试试。

追问

环境变量?不懂

本回答被提问者采纳
第4个回答  2011-03-04
先把代码放上来

还有出错提示

c语言编程总无法运行,检查错误说main有问题
程序算法有问题,会出现死循环(用f10单步执行看看你就知道了),自己再检查一下吧 这类问题用链表来做很简单的,下面我用的是双向循环链表来实现的,可以参考一下 include "stdio.h"include "stdlib.h"include "malloc.h"define NULL 0 struct List { int data;char name[15];struct List *next...

我做了一个非常简单C语言的运行程序 但是无法运行 老提示主函数有问题...
主函数定义为 int型,但是在主函数结束后没有返回一个整型值,导致编译不通过。myss函数声明时,行末没有添加";"在system("pause");后添加return 0;另外在main函数内连续使用两个以上scanf的时候会导致输入值错误。建议第一个scanf语句写为scanf("%d%*c",&sa);good luck~!

c语言 编程 代码 为什么会出现这种错误 怎么解决?
产生这个问题可能的原因 1, 你用vc建了一个控制台程序,它的入口函数应该是main, 而你使用了WinMain.2. 你用vc打开了一个.c\/.cpp 文件,然后直接编译这个文件,这个文件中使用了WinMian而不是main作为入口函数。vc这时的默认设置是针对控制台程序的。解决方法 1.进入project->setting->c\/c++, ...

求大神帮帮,c语言中下面的error:redefinitionofmain要怎
处理C语言中的错误信息“redefinition of main”问题,关键在于找出代码中重复定义了main函数。检查并移除重复的main函数是解决此问题的首要步骤。假设你当前文件中只有一个main函数,错误提示可能来源于同项目其他源文件或头文件中。仔细审查项目的整体结构,识别可能包含重复main函数的位置。理解你的项目构建方...

c语言为什么我编译没错,运行的时候就有错误了 运行不了啊 没有豆了...
你的main拼写错了

使用keil编程常遇到c语言问题;main被重复定义了,如何破?
删除掉extern main;就好了 main这个关键字不能随便定义的 只能存在一个 程序都是从main开始所以也不能被调用,所以根本没必要声明main函数。

C语言编程出现错误,'main' : not in formal parameter list_百度...
第二行应该是#include<cmath> 然后void main 后面应该是加(),而不是 ;因为这个错误是指“main函数未在正式的参数列表”你重新调试一下吧,希望能帮到你

为什么c语言无法运行。
代码没问题,可能是有的编译器或IDE不支持编译单个源文件。这样的话,你需先建立一个控制台项目,然后将源文件添加到项目后,再编译这个项目才行。

C语言问题 error: `main' must return `int'
错误提示的意思是,main函数必须返回int类型。这个要求是C99提出的,所以采用C99及以后标准的编译器,都会强制要求main函数返回int类型。即这样:int main(){ ... return 0;} 而现在很多书都不注意规范,用着老编译器,这种事情毫不在意,写成main()和 void main()的屡见不鲜,这个需要个人...

c语言中输入一个程序后显示无错误,为什么不能运行
你的截图太不清楚了,但是首先一个错误是:主函数是 main,你写错了,而且按照标准应该是 int main,另外你的左边工程列表里显示有2 class,不只你是怎么组织源代码文件的。总之,要使一个程序正确,不仅代码逻辑要正确,编译-链接配置、工程文件构建配置、运行时环境配置都正确才能运行 ...

相似回答
大家正在搜