A. 函数非法定义是什么回事c语言
不能再一个函数内定义另一函数;
void main()
{ double fun(int n){ } }
是错误的。
自己定义的函数要在main()声明 如
double fun(int n)——自己定义的函数的声明
void main()
{ a= fun(b); }
double fun(int n)
{ }
如果自己定义的函数在main()前定义c就不需声明。
double fun(int n)
{ a= fun(b); }
void main()
{ }
B. C语言 函数定义概念问题
先举个例子:
#include <stdio.h>
int max(int,int); //这是函数max的申明,最后要加分号
int main()
{
int a=1,b=2,c;
c = max(a,b); //这是函数max的使用
printf("%d",c);
return 0;
}
int max(int n,int m) //这是函数max的定义部分,最后不加分号
{
if (n>m)
return n;
else
return m;
}
不能在函数体内定义函数是什么意思?
【就是说函数在程序中不能嵌套定义,这个和Pascal语言不同,例如上面程序中,max函数不能定义在main函数中间】
定义是声明还是使用?
【定义既不是申明,也不是使用,函数具体功能的实现代码叫做函数的定义,如上面程序最后7行就是定义】
函数不是应该先声明在使用吗?
【是的,但如果函数定义在函数使用之前,就可以不用申明(如下面程序)。函数定义在函数使用后的情况下(如上面程序),先声明,能使编译器在编译在编译过程中能够识别使用的函数】
#include <stdio.h>
int max(int n,int m) //这是函数max的定义部分,最后不加分号
{
if (n>m)
return n;
else
return m;
}
int main()
{
int a=1,b=2,c;
c = max(a,b); //这是函数max的使用
printf("%d",c);
return 0;
}
定义如何解释?
【见第二个问题】
C. C语言 C2601这个是什么意思该怎样解决
翻译过来就是局部函数定义非法,就是函数定义的位置不对,好好查一下你的代码吧
D. 关于c语言的函数声明
函数声明它为编译器提供了有用的信息,编译器在翻译代码的过程中,只有见到函数原型(这里即可以是声明也可以是定义)之后才知道这个函数的名字、参数类型和返回值,这样碰到函数调用时才知道怎么生成相应的指令,所以函数原型必须出现在函数调用之前,这也是遵循“先声明后使用”的原则。
注意上面说的函数原型是包括函数声明和定义两种形式的。
另外还有一种特殊情况,就是
隐式声明:
隐式声明的函数返回值类型都是int;
如下
#include<stdio.h>
main()
{
printf("%d\n",jiec(5));
}
int jiec(int n)
{
int y=1;int i;
for(i=1;i<=n;i++)
y=y*i;
return(y);
}
这个程序也是可以运行的。主要返回值为int.
E. 本地函数定义是非法的,什么意思
一般是出现这个错误的函数的前一个函数大括号不匹配
F. c语言定义函数是什么
c语言定义函数是一段可以重复使用的代码,用来独立地完成某个功能,它可以接收用户传递的数据,也可以不接收。
接收用户数据的函数在定义时要指明参数,不接收用户数据的不需要指明,根据这一点可以将函数分为有参函数和无参函数。
函数就是一段封装好的,可以重复使用的代码,它使得我们的程序更加模块化,不需要编写大量重复的代码。函数可以提前保存起来,并给它起一个独一无二的名字,只要知道它的名字就能使用这段代码。
C语言特点及运用范围:
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。
C语言特点:简洁的语言、具有结构化的控制语句、丰富的数据类型、丰富的运算符、可对物理地址进行直接操作、代码具有较好的可移植性、可生成高质量、目标代码执行效率高的程序。
C语言是一门面向过程的计算机编程语言,C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。
G. void display(char board[][SIZE]);为什么这句在C语言里的定义功能函数是非法的。
你是想定义一个二维数组吧
第一 你有没有在前面宏定义一个SIZE大小,数组只能分配具体内存,不能用变量作为角标的
第二。后面多了一个分号
假如你只是想定义一个一维数组,那么把[SIZE]和分号去掉即可
H. 求解C语言程序 急!!! 为什么函数定义非法
#include<stdio.h>
#include<math.h>
intmain()
{
intmsm1(charx);
intmsm2(inta,intb,intc);
doublemsm3(doubleb);
printf("******************** ");
printf("选择一个功能 ");
printf("A.写出对应的大(小)写字母 B.求三个数中最大的一个 C.求一个数的算数平方根 ");
chari;
while((i=getchar())!=EOF){
getchar();
switch(i){
case'A':
{
intz;
chara;
printf("pleaseinputamunber: ");
a=getchar();
getchar();
z=msm1(a);
printf("%c",z);break;
}
case'B':
{
intx,c,v,b;
printf("pleaseinput3number: ");
scanf("%d%d%d",&x,&c,&v);
b=msm2(x,c,v);
printf("%d",b);break;
}
case'C':
{
doublea;
doubleb;
printf("pleaseinputanumber: ");
scanf("%lf",&b);
a=msm3(b);
printf("%lf",a);break;
}
}
}
return0;
}
intmsm1(charx)
{
if(x>90)
x=x-32;
else
x=x+32;
return(x);
}
intmsm2(inta,intb,intc)
{
intq;
q=a>(b>c?b:c)?a:(b>c?b:c);
return(q);
}
doublemsm3(doubleb)
{
doublex;
x=sqrt(b);
return(x);
}
I. C语言定义函数的错误
在c中可以嵌套调用函数,但不可以嵌套定义函数。函数嵌套调用是允许的。int a(){b();//调用函数b } 函数嵌套定义是错误的。int a(){int b() //在函数a中定义函数b{…………}
J. C语言问题,定义函数的时候,出现了这样的错误,请问哪里出错了
1、在C语言中^是位运算符(异或),两边操作数需为整数,你的写法左边是浮点数,故报语法错误。
2、C语言中,幂运算有几种方式:用e来表示10的次方;用函数pow;循环相乘。