哪个C语言大神帮我看哈我的这个程序哪儿有错嘛,万分感谢啊

#include<stdio.h>#include<string.h>
#include<malloc.h>
#include<stdlib.h>
struct student
{
int number;
char name[20];
struct student *next;
};
void print(student* head)
{
student * P;
P=head;
while(P!=NULL)
{
printf("结构体输入:\n");
printf("学号输入:%d\n",P->number);
printf("姓名输入:%d\n",P->name);
P=P->next;
}
}
student *creat()
{
student * head;
int snumber;
char sname[20];
student * New;
student * P;
int i;
head=(student * )malloc(sizeof(student));
if(head=NULL)
printf("配置失败!!\n");
else
{
snumber=1;
printf("请输入姓名:");
scanf("%s",sname);
head->number=snumber;
strcpy(head->name,sname);
head->next=NULL;
P=head;
while(1)
{
snumber++;
New=(student* )malloc(sizeof(student));
printf("请输入姓名:");
scanf("%s",sname);
if(strcmp(sname,"0")==0)
New->number=snumber;
strcpy(New->name,sname);
New->next=New;
P=New;
}
}
return head;
}
int query(student *head,char *qname)
{
student* m;
m=head;
while(m!=NULL)
{
if(strcmp((m->name,qname)==0));
{
printf("学生学号:%d\n",m->number);
printf("学生姓名:%d\n",m->name);
return 1;
}
m=m->next;
}
return 0;
}
main(){
student * head;
char qname[20];
head=creat();
if(head!=NULL)
print(head);
getchar();
printf("请输入你想查找的姓名:");
gets(qname);
if(query(head,qname)==0);
printf("没有找到!");
}

主要是这步的问题,但我就是找不到错误,请求各位C语言大神帮帮我,非常感谢

就是那一步,括号加多了,if(strcmp(m->name,qname)==0) 还有就是后面是没有分号的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-26
括号加的有点问题,其实编译的时候报的错误提示已经说的很清楚了

哪个C语言大神帮我看哈我的这个程序哪儿有错嘛,万分感谢啊
就是那一步,括号加多了,if(strcmp(m->name,qname)==0) 还有就是后面是没有分号的。

...求大神帮忙看看,我写的程序哪里错了,万分感谢!
你的s貌似没有定义初值吧,出现的结果貌似是一个很长的随机数吧。include<stdio.h> int main(){ int y,m,d,Y,M,D,s=0,x;scanf("%d%d%d\\n%d%d%d",&y,&m,&d,&Y,&M,&D);if(y=Y){ do{ switch(m){case 1:case 3:case 5:case 7:case 8:case 10:case 12:x=31;break;c...

C语言的大神帮我看看哪里写错了?
include <stdio.h> int isPrime(int x, int KnownPrimes[], int numberOfKnownPrimes );int main(void){ const int number=10;int prime [number]= {2};\/\/有修改 int count = 1;int i = 3;while ( count< number){ if(isPrime(i,prime,count)){ prime[count++] = i;\/\/有修改 }...

...这个找3*3矩阵的鞍点的程序代码哪里错了,万分感谢!!
楼主是在帮别人问吧,你输入上的错误和混乱的排版就不提了,当事人应该知道的,我把你程序设计上的错误批在代码旁边:include”stdio.h”Void main(){ Int a[3][3],max,maxl,maxh,i,j;Int flag=1;For(i=1;i<=3;i++)\/\/数组下标是从0开始的,应该改成:i=0;i<=2;{For(j=1;j<...

C语言 大神们帮我看看这个指数幂问题!!!不知道为什么我老是出错
不过这个错误其实很奇怪,因为c不存在函数重载的,函数重载是C++的概念,所以对于纯C来说是不存在这个问题的。我估计是你的编译器设置的时候没有设置成为根据源文件后缀来自动识别语言。所以他还是按照C++的方式来进行编译。这种显式类型转换虽然可以让他编译过去,但是实际上是按照C++的方式编译的,不是C...

...是怎么回事 哪位大神帮忙解释一下 万分感谢
野指针或者爆栈或者越界就会这样,你是初学者的话不会使用错误检查的话你就断点试试

求教C语言大神!!!最好讲一下理由,万分感谢
结果是cbade 原因如下:首先,主函数只进行了一个fun操作,其他的就是定义和输出,所以字符串(或者说字符数组)的调整完全由fun决定 fun中首先定义了x和y,因为s的长度是5,所以y = (strlen(s) - 1) \/ 2=(5-1)\/2=2 因此:循环开始时,初始值是x=0,y=2,s="abcde",进入循环 第一次...

关于c语言程序设计的问题求大神帮忙!万分感谢!
主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。(3)链接(成可执行程序文件.exe)链接是将编译产生的.obj文件和系统库连接装配成一个可以执行的程序。由于在实际操作中可直接点击Build从源程序产生可执行程序,可能有人会置疑:为何要将源程序翻译成可执行文件...

C语言编程有一个错误找不出来了,求大神把错误给我指出来,万分感谢!
C语言编程有一个错误找不出来了,求大神把错误给我指出来,万分感谢!  我来答 分享 微信扫一扫 新浪微博 QQ空间 举报 浏览8 次 可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。 c语言编程 大神 搜索资料 本地图片 图片链接 代码 提交回答...

C语言程序设计,求答案。万分感谢!
else if('A'<=c&&c<='Z')printf("%c\\n",char(c+32));else printf("what you input is not a letter! ");return 0;} 第二题的:include<stdio.h> int main(){ int x,y;printf("Please input your number x:\\n");scanf("%d",&x);if(x>-1)y=2*x;else if(x<-1)y...

相似回答
大家正在搜