#includestdio.h
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、虚拟空间、营销软件、网站建设、杞县网站维护、网站推广。
int main()
{
int data1,data2,data3;
scanf("%d%d",data1,data2);/*这里冒号里("")应该只包括占位符(%d);你定义的是(int)dat(e)2,但是取值的是dat(a)2;还有既然你要求值的是data3,他就不能在输入函数scanf()中出现;因为他是要被输出地的; */
data3=data1*data2;
printf("data3=%d",data3); /*data3应在输出函数printf()中,因此他不能出现在上面的函数中;*/
return 0;
}
应该不是符号的错误,应该是定义函数的名字违法了!在参数列表中违法了。具体情况不清楚,代码贴上来看看
Error6error C2081: 'LinkQueue' : name in formal parameter list illegale:\c_project\lab_05\lab_05\graph.h56
(1)
main()
{int f(x);在此加条函数声明,扩展其作用域!
int a;
......
f(a);
......
}
int f(x)此处也应该声明类型。
{......}
事实上,对于(1)问,有的编译器不会报错,如TC(如果没有声明函数类型,TC会自动将函数认为是int型).
(2)
main()
{
int a;
......
f(a);
......
}
f(x)
float x;如果想定义一个全局变量,应该把x放在函数外定义;
{......}
如果想在f(x)内部定义一个变量x,会导致与形参重复,应该更换为不重复的标志符,如x1:
f(x)
{float x1;
......}
(3)
main()
{
void f();
......
m=f();f已经是void型,它是没有返回值的,就谈不上向m赋值了。
......
}
void f()
{......}
多谢!
node I :I是链表头吧,那函数的定义应该是这样:int getelem(node *l ,int i,float *e) 我是根据函数中node *p判断的,因为p与I的类型必须一致.
修改后的函数如下:
int getelem(node *I ,int i,float *e) //e定义为指针,不能取地址.,调用函数时取变量的地址
{ node *p;int j;
p=I-next;j=1;
for( ;pji;j++)
p=p-next;
if(!p||ji)
return 0;
*e=p-data;
return 1;
}
在vs中,stdlib.h中定义了max()宏,你的函数max与之重名了,导致函数名max被当做宏展开了,进而引发了语法错误。将你的函数改为其他名称,例如my_max即可。
你打印printf中学生名输出都写错了,%s只要用字符数组名就行了,所以写name而不是name[i]
修改以后是可以运行的,但逻辑有问题,结果是不对了,你自己再看看吧。
另外,这种程序用数组写可以,但更建议用结构,写链表更好。
我又看了下你代码,你定义一维数组studentname[10];保存名字。但实际你想保存的是10个学生的名字。你应该定义二维数组studentname[10][10], 你函数形参也要定义char name[10][10],这样你printf才能写name[i].