c语言中void和int类型函数的定义,急!!!!!!!!!

int InsertList(int i,char str,Sqlist &L)
{
if(i>L.length||i<=0)
return 1;
else
{
for(int n=L.length-1;n>=i-1;--n)
L.elem[n+1]=L.elem[n];
L.elem[i-1]=str;
++L.length;
return 0;
}
}
这个是顺序表的插入算法,大家应该很熟悉吧
现在我把它改成void类型
void InsertList(int i,char str,Sqlist &L)
{if(i>L.length||i<=0)
;
else
{
for(int n=L.length-1;n>=i-1;--n)
L.elem[n+1]=L.elem[n];
L.elem[i-1]=str;
++L.length;

}
}
程序依然能够执行

既然执行结果相同,那么什么时候要用void,什么时候要用int呢?
(我知道int可以用return把值返回给函数)
感谢各位,但是,本例本来是不需要返回值的,返回值没有被调用;
为何最优算法中用的是int而不是void?

void:

中文翻译为“无类型”。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。

void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。

Int:

int是将一个数值向下取整为最接近的整数的函数。INT是数据库中常用函数中的取整函数,常用来判别一个数能否被另一个数整除。

在编程语言(C、C++、C#、Java等)中,常用于定义整数类型变量的标识符。

扩展资料:

void关键字的使用规则:

规则一:如果函数没有返回值,那么应声明为void类型。

在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。

规则二:如果函数无参数,那么应声明其参数为void。

规则三:小心使用void指针类型

按照ANSI(American National Standards Institute)标准,不能对void指针进行算法操作。

规则四:如果函数的参数可以是任意类型指针,那么应声明其参数为void *

典型的如内存操作函数memcpy和memset的函数原型分别为:

void * memcpy(void *dest, const void *src,size_tlen);

void * memset ( void * buffer, int c, size_t num );

规则五:void不能代表一个真实的变量

参考资料:百度百科-void

                 百度百科-int

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-22
一般来讲,主调函数需要被调函数返回函数值的时候需定义为int型!而主调函数不需要被调函数的返回值的时候,定义成为void或者int都可以(定义成int的时候需要有return语句,定义成void的时候不可以有return语句)

Ps:至于你补充提到的问题,我想说一下,一般来讲我们都是把自己定义的函数看成是又返回值的函数的,所以的话即使没有返回值,一般也写一个return0,而且定义的时候一般都要加一个int(或者其他类型),这样便于在以后的优化程序中进行修改!本回答被提问者采纳
第2个回答  2019-01-18
函数名前的void或int称为函数返回值类型,当为void时,表示函数没有返回值,当为int是,表示这个函数的返回值类型为int,即在函数内部必须存在至少一个return语句,来表示函数的值返回到调用主调函数。
第3个回答  2013-01-11
这里的返回值是有用的,不是无的放矢的.
这个返回值用于区分,插入操作是否成功.
成功:返回 1,
不成功:返回 0;
返回值没有调用,是你那一段代码没有调用.
作为一个严谨的程序员,绝不会随便写代码的.
如果不关心,成功失败,当然可以不返回任何值.写成void 自无不可.
顺序表的插入算法是个通用型的算法,当然必须有返回值了!
第4个回答  2009-12-18
一般定义为BOOL更好,返回TRUE表示插入正确,否则FALSE表示失败,这样在具体插入时可以作一个if语句,比如 if(InsertList(i,str,L)) //todo
其实定义什么返回类型都无所谓,具体还是看你有什么用

c语言中void和int类型函数的定义,急!!!
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。Int:int是将一个数值向下取整为最接近的整数的函数。INT是数据库中常用函数中的取整函数,常用来判别一个数能否被另一个数整除。在编程语言(C、C++、C#、Java等)中,常用于定义整数类型变量的标识符。

c语言void和int的区别
c语言void和int的区别:1、指代不同。int:是一种数据类型,在编程语言中,是用于定义整数类型变量的标识符。void:无类型。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。2、特点不同。int:除了int类型之外,还有short、long类型可以表示整数。unsignedint表示无符号整数。void...

C语言程序设计中的int和void 是什么意思?
1、Int是将一个数值向下取整为最接近的整数的函数。INT是数据库中常用函数中的取整函数,常用来判别一个数能否被另一个数整除。2、void*则为“无类型指针”,void*可以指向任何类型的数据。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。

c语言的void是什么意思?跟int有什么区别 我刚开始学 别解释的 太麻烦不...
int main(){...return 0;}\/*这就是有返回值的 *\/ 再比如 void main(){...}\/*这后面就不用return了*\/ 其他函数什么的也类似这样的意思

c语言中int型和void型的区别
在c语言中,有返回值的就用int,没有返回值就用void。在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。即不加返回值说明的函数为返回为int的函数。如果函数没有返回值,一定要声明为void类型。这既是程序良好可读性的需要,也是编程规范性的要求。另外,加上void类型声明后,...

C语言程序设计中的int和void 是什么意思?
int是一种数据类型,在编程语言C中,是用于定义整数类型变量的标识符。在电脑中,int占用4字节,32比特,数据范围为-2147483648~2147483647[-2^31~2^31-1]。void为计算机语言关键字“无类型”。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。void可以指向任何类型的数据...

c语言中开头的int main (void)是什么意思。我真的知道int是整数void...
int代表返回值,即函数返回一个int类型的值,void在这里代表,main函数的参数为空,而不是0的意思。main函数,为主函数,一个程序的入口函数,一般返回值为int类型,有时编译器做了优化,在编程是没有返回任何值也不会报错。不太正规的,返回值也可以用void代替,即返回值为空。

C语言-void和int的问题
void main(),是把主函数定位void 空类型,这是C语言中的传统用法,但是ANSI C++标准规定主函数为int类型,如果程序正常运行则有返回值0值,而C语言中则是没有返回值,空类型,其实C跟C++可以互通,这要看你学什么语言了,但一般我们讲究程序设计的风格要统一~...

C语言中void main()和int main()有什么区别?
1. 函数原型:void main()函数没有返回值,而int main()函数有一个返回值。根据C语言的标准,main()函数应该有一个返回类型,通常是int类型。2. 参数:根据C语言的标准,main()函数可以接受两个参数,一个是argc(表示命令行参数的数量),另一个是argv(表示命令行参数的数组)。然而,在实际编程...

C语言中 void和int 这两种子程序有什么区别?大神们帮帮忙
void 函数 返回 空 也就是不需要在最后结束时使用return 0(或其他) int 函数 返回 整型 例如: #include<stdio.h> void main() { printf("Hello,World!\\n") \/*如果前面输入的是:void main() 就不需要在这里输入: return 0(或其他值) 如果前面输入的是int main() 这里则需要输入 return ...

相似回答