精华内容
下载资源
问答
  • 2021-05-21 18:30:05

    没有表达式的return语句:

    void func(void) {

    return;

    }

    在void函数中是完全合法的.带表达式的return语句的合法性取决于您正在使用的C语言的版本.

    1990 C标准说:

    A return statement with an expression shall not appear in a

    function whose return type is void.

    该标准的1999年和2011年版本都说:

    A return statement with an expression shall not appear

    in a function whose return type is void. A return

    statement without an expression shall only appear in a function

    whose return type is void.

    这是一个约束,这意味着编译器必须为任何违反它的程序发出诊断(可能是非致命警告).

    由于历史原因,C90允许返回语句在非void函数中没有表达式.前ANSI C没有void关键字,因此无法定义未返回值的函数.程序员会省略返回类型(默认为int)并简单地忽略它. C90规则允许这样的旧代码编译而不会出错.您仍然无法从非void函数返回值;如果调用者尝试使用(不存在)结果,则程序的行为是未定义的. 1999年的标准稍微收紧了规则.

    你的程序的另一个问题是你在声明可见之前调用fun.根据C99及更高版本的规则,这是非法的(尽管编译器可能只是警告它).根据C90规则,这是合法的,但编译器将假定该函数返回int.您的程序的行为是未定义的,但您的void函数乐趣可能恰好表现为返回一个值,并且对它的调用可能恰好表现为使用该值.

    C编译器对于某些错误往往相当宽松,因此旧代码(有时在第一个实际标准发布之前编写)不会被拒绝.但是你的编译器应该至少警告你关于return语句,可能还有关于无效调用的警告.你应该密切关注编译器警告;他们的待遇几乎与致命错误一样.您应该使用选项来增加编译器警告您的数量.如果您正在使用gcc,请使用-std = c90,-std = c99或-std = c11以及-pedantic来强制执行标准一致性.您可以添加-Wall-Wextra`以启用更多警告.

    更多相关内容
  • Java:void方法返回值

    千次阅读 2021-03-15 16:34:41
    因此,我想我对方法返回值的...如果void方法实际上可以返回值,那么为什么num仍然会 是0 ..... num也不会变成3吗??或void方法不返回任何值(数组除外)?public static void main (String []args){int []list = {1,...

    因此,我想我对方法返回值的方式误解了。

    我不明白为什么list [0]在输出中为3,因为那是一个void方法,它不会将任何内容返回给main方法...如果void方法实际上可以返回值,那么为什么num仍然会 是0 ..... num也不会变成3吗??

    或void方法不返回任何值(数组除外)?

    public static void main (String []args){

    int []list = {1,2,3,4,5};

    int number = 0;

    modify(number, list);

    System.out.println("number is:"+number);

    for (int i = 0; i < list.length; i++)

    {

    System.out.print(list[i]+"");

    }

    System.out.println();

    }

    public static void modify (int num, int []list){

    num = 3;

    list[0] = 3;

    }

    输出:

    number is: 0

    3 2 3 4 5

    虚空不返回任何东西。 您的方法不返回任何内容。 它修改"列表"引用的数组的内容。

    您可能需要使自己熟悉"按值传递","按引用传递"的概念,并了解对象是引用(在方法调用之间按值传递)。

    "数字"是一个简单的整数-按值传递给Modify方法。因此,即使方法中分配给" num"的值发生了变化,此方法的调用者使用的原始变量也保持不变。

    "列表"也是按值传递的,但是"列表"是一个对象,因此您要将对该对象的引用(按值)传递给Modify方法。因此,如果您在方法中更改对象的内部,则您将更改调用者引用的同一对象。

    现在,如果您这样做:

    public static void modify (int num, int [] list)

    {

    num = 3;

    int [] newlist = {9,8,7,6,5,4};

    list = newlist;

    newlist[0] = 3;

    }

    然后,传递给修改的"列表"将永远不会被修改,因为Modify方法中的"列表"被更改为完全指向另一个对象。

    它不返回任何内容,仅修改变量list[0]。

    list[0] = 3;是给出输出3的原因。它与num无关,并且您未返回任何内容。您只需修改数组的内容。

    如上所述,该方法实际上并没有返回值……它正在修改数组中的第一个值。输出反映了由"修改"修改的值

    展开全文
  • c++void函数如何返回处理结果

    千次阅读 2021-08-11 10:45:01
    文章目录一、void函数二、void函数通过引用和指针返回处理结果 一、void函数 void在函数和变量中的含义详解 void表示无类型的意思,无类型可以包容有类型,可以用其定义的函数获得各种想要输出的数据类型,比如各个...

    一、void函数

    void在函数和变量中的含义详解
    void表示无类型的意思,无类型可以包容有类型,可以用其定义的函数获得各种想要输出的数据类型,比如各个视觉库自定义的图片类型等。但是void定义的函数没有返回值,而其中定义的形参作用域只在函数内,无法把计算结果传出去。当通过链接库调用一个函数时,用全局变量的方法来得到输出结果显而是不适用的。

    二、void函数通过引用和指针返回处理结果

    1、参考
    2、实际例子
    (1)将函数要输出的结果定义为指针或者加引用
    在这里插入图片描述
    (2)通过指针进行调用得到输出结果
    在这里插入图片描述
    (3)结果
    在这里插入图片描述

    展开全文
  • 哈哈哈哈函数的英文单词function这个一定要认识下面实例化下函数的格式:修饰符 返回值类型 函数名(参数类型 形参1,参数类型 形参2, ……){执行语句;return 返回值;}返回值函数运行后的...

    764b2bebfd3d4eaf0cc4a85f530d89cd.png

    java基础自学入门:

    函数:定义在类中的具有特定功能的一段独立小程序

    有时候我们函数也称为方法,平时我们听到的函数也就是方法,方法也是函数,每个人的叫法不同,所以这里要切记。老程序员别露馅哟。哈哈哈哈

    函数的英文单词function这个一定要认识

    下面实例化下函数的格式:

    修饰符 返回值类型 函数名(参数类型 形参1,参数类型 形参2, ……)

    {

    执行语句;

    return 返回值;

    }

    返回值:函数运行后的结果的返回数据类型;

    参数类型:是形参的数据类型;

    形参:是一个变量,用于存储调用函数时传递给函数的实参;

    实参:传递给形参的具体数值;

    return:用于结束函数;

    返回值:该值会返回给调用者;

    1741e9f2019b9f5a4f90fcf9f164c02f.pngjava基础代码演变实现函数模块功能

    从上例图运算中发现,因为获取不同数据的运算结果,代码出现了重复;

    为了提高代码的复用性,对代码进行抽取。

    将这个部分定义成一个独立的功能,方便与日后使用

    java中对功能的定义是通过行数的形式来体现的,

    需要定义功能,完成一个整数*3+5的运算并打印结果

    ebdc67bc4beef1903139bcfb0557ec8d.png由图1演变出函数模块功能

    修饰符public static .public可以不写,static一定要用调用被静态修饰的内容.整数类型int

    独立的功能,独立的封装空间。该功能只有被调用才会执行,所以所放源码位置前后不受影响。

    34426f0e6697ade2bfc6c5e5fafe2cd6.png函数的应用

    定义函数可以将功能代码进行封装;

    便于对该功能进行复用;

    函数只有被调用时才会被执行;

    函数的出现提高了代码的复用性;

    当函数运算后没有具体返回值时,却定义了类型,变出发送编译失败如下图

    013a475f3b6571eb5f285cc319c4ace3.png函数返回值错误范例

    在没有返回值情况下,我们需要用一个特殊的关键词来标识;

    void:代表的是函数没有具体返回值情况;

    对于函数没有具体返回值的情况,返回值类型用关键字void表示

    29b200f0ea41c778fb2e6b9bf2e24a10.png函数没有返回值是默认使用void关键字

    return;//当返回值是void时,return可以不写,不写时系统编译时会默认加上return;

    3a55b43f738145b5f6c582ddf52fdb7d.png函数返回值void时return可以不写

    特别强调下:

    定义函数时,函数的结果应该返回给调用者,交由调用者处理。

    //此函数定义在主函数内,是不可以的;

    //函数与函数之间的关系是平级;

    //函数与函数之间是不可以谁包含谁的;

    //函数内是不能再定义另一个函数的;

    //函数内只能调用其他函数;

    5d71000ad483c0089422bf53f3121341.pngjava中每个函数都必须是独立存在

    java中每个函数都必须是独立存在不可以谁包含谁。需要时可以独立定义函数,然后调用改函数

    上面提供了编译代码,有兴趣的朋友可以编译运行试试哈。

    每天都会更新知识点和案例分享哦

    点击关注或收藏,与我们一起从基础开始学习java每天更新一点新知识,新案例,每天吸收一点新能量。

    点击评论区,对于细节的优化,留言,一起探讨哟。

    展开全文
  • void*作为函数返回类型(C语言)

    千次阅读 2021-05-22 17:49:17
    C语言中有一种返回值类型比较特殊,就是void*,void作为返回值我们都很熟悉了,但是一般情况void*作为返回值的情况很少见,因此有些童鞋可能对相关方面有疑惑,当初我也是在一道题中遇到的这种返回类型,并没有明白...
  • 引言 通过几个实验练习,学习线程之间连接的具体实现。下面列举了两个例子,一...void *create(void *arg) { struct member *temp = (struct member*)malloc(sizeof(struct member)); temp->a = 2; temp->b = Hello
  • 对于 const 修饰函数参数可以分为三种情况。 A:值传递的 const 修饰传递,一般这种情况不需要 const 修饰,因为函数会自动产生临时变量复制实参值。 #include<iostream> using namespace std; void ...
  • Java中void、return、返回值的详解

    万次阅读 多人点赞 2017-08-08 15:30:12
    main函数没有返回值,直接打印输出a。 二、构造方法时使用void 首先,利用void构造一个无返回值的方法 接着创建一个测试类Test.class,调用sum方法。 这就是void在类中构造方法时的大概使用(注释...
  • 有时遇到函数返回值为空和函数返回值为指针的情况下,需要在前面定义该函数//函数的返回值为指针也必须在此定义, //函数的返回值为void必须在此定义,返回值是整形或者其他基本类型不需要在此定义 #include #...
  • public static void main(String[] args){ int a=0; hs(a); System.out.println(a); } public void hs(int a){ a=77; } 运行的结果为a=0,也就是调用外部函数没有效果。 个人的理解是:如果是基本类型的话,hs函数里...
  • 函数返回值中, void 是没有任何返回值, 而 void * 是返回任意类型的值的指针. 还是看代码吧: #include <stdlib.h> #include <stdio.h> void voidc(int a); void* voidcp(int *a); int main(){...
  • 详解C语言函数返回值解析 程序一: int main() { int *p; int i; int*fun(void); p=fun(); for(i=0;i<3;i++) { printf(%d\n,*p); p++; } return 0; }; int* fun(void) { static int str[]={1,2,3,4...
  • C语言程序返回值void什么意思?

    千次阅读 2021-05-20 15:29:00
    满意答案ansjc2014.11.02采纳率:44%等级:6已帮助:206人void的使用下面给出void关键字的使用规则:规则一如果函数没有返回值,那么应声明为void类型在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回...
  • C++函数返回值

    千次阅读 多人点赞 2020-03-12 19:03:15
    首先,强调一点,和函数传参一样,函数返回时也会做一个拷贝。从某种角度上看,和传参一样,也分为三种: 一般(传统)返回:返回任意类型的数据类型,会有一个拷贝,对于复杂对象效率低下;例如:int test(){}或者...
  • C语言之Main函数返回值问题分析: 很多人甚至市面上的一些书籍,都使用了void main( ) ,其实这是错误的。C/C++ 中从来没有定义过void main( ) 。C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The ...
  • 一、总结:C语言在main()函数前必须声明要使用的函数,否则可能会出现无法正确调用使用函数return值的错误二、问题:做《C primer plus》ch9函数编程题第一题:设计一个函数Min(x,y),返回两个double类型的较小值。...
  • C语言函数返回值详解

    万次阅读 多人点赞 2020-02-24 11:32:28
    函数返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这个结果通过 return 语句返回。 return 语句的一般形式为: return 表达式; 或者: return (表达式); 有没有( )都是正确的,为了简明,一般也...
  • 函数返回值可以是字符串吗

    千次阅读 2021-05-19 13:20:14
    c语言中函数返回值可以是数组、字符串和结构体吗?因为在C语言中函数不能返回数组,但字符串是存储在字符数组中的,所以能C语言中实现函数返回字符串,首先要确定函数返回的字符串地址的来源,一般分为四种方式: ...
  • C++中函数类型与定义的函数返回值类型必须相同么?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!C++中函数类型与定义的函数返回值类型必须相同么?1...
  • c语言中的void表示无返回值,那下面的第一个程序怎样理解?答案:4信息版本:手机版解决时间 2019-10-06 18:36已解决2019-10-06 05:52void swap(int *x,int *y){int t;t=*x;*x=*y;*y=t;}main(){int a=1,b=2,*pa,*pb;...
  • C语言main函数返回值详解

    万次阅读 2019-08-30 23:54:28
    前言:本文程序代码均在...C语言的main函数有两个标准写法 // C99加入两种 main 标准写法 int main(void) // 标准一写法 // 和 int main(int argc,char *argv[]) // 标准二写法 int main(int argc,char **argv) // ...
  • 我们想从一个回调函数返回一个我们想要的值,如果按照上面的写法我们始终只能拿到undefind。 解决的办法也很简单,如下。 const fs = require('fs' ) let read =async ()=> { return new Promise(...
  • main函数返回值

    2020-01-01 19:42:17
    如果main函数返回类型不为void,我们可以显示调用return语句返回一个值,如果不显示调用,编译器将隐式的插入一条返回0的return语句,进程的终止状态为该返回值。 参考资料: [1] C++Primer(五版) ...
  • C语言函数返回值

    2021-05-20 07:41:03
    C语言函数返回值教程如果,我们希望函数不返回任何值,那么我们需要显式的指明其返回类型为C语言函数不返回值语法void funcName(paramType1 param1, paramType2 param2){//执行语句...[return]}说明这里的函数 ...
  • c++ const函数返回值

    千次阅读 2019-07-23 13:20:30
    1. 第一种情况:const位于方法参数列表后,如 void test() const; 此种情况表明,此方法不会改变调用对象的状态,保证了调用对象的常量性 2. 第二种情况:const 位于返回类型前 此情况表明返回对象为常量,不...
  • C++ 笔记 const关键字修饰函数返回值

    千次阅读 2020-02-28 17:19:36
    const位于方法参数列表后,如 void test() const; 此种情况表明,此方法不会改变调用对象的状态,保证了调用对象的常量性。 const修饰成员函数的两个作用 在设计类的时候,一个原则就是对于不改变数据成员...
  • 函数返回值是引用的情况。

    千次阅读 2019-11-07 16:02:17
    (1) 函数返回值为引用时,若返回栈变量,不能成为其它引用的初始值,不能作为左值 (2) 函数返回值为引用时,若返回的是静态变量或者全局变量,可以成为其他引用的初始值,既可以作为左值,也可以作为右值。...
  • js 中的 void 0

    千次阅读 2020-02-13 20:35:43
    void其实是javascript中的一个函数,接受一个参数,返回值永远是undefined。可以说,使用void目的就是为了得到javascript中的undefined console.log(void "hello") // undefined console.log(void ("hello")) // ...
  • 函数通过数组作为参数 如果想通过一个一维数组作为函数的参数,就必须声明函数形式参数,使用以下三种方式与所有三个声明方法之一产生类似的结果,因为每一种方式告诉编译器,一个整数指针将会要被接收。类似的方式...
  • 【dart】被省略的函数返回值void

    千次阅读 2018-10-15 21:03:30
    【dart】被省略的函数返回值void 在 dart 里,被省略的函数返回值不是 void,dart 可以允许你不写函数的返回值,编译器会自动帮助你返回 null void main(){ print(hello() == null); // true } hello() { } ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 656,530
精华内容 262,612
关键字:

void函数返回值