8.1c# 函数及out传值

使用 out传值的时候仅仅是将变量名(箱子)拿过来,并不会管之前是什么值
函数体结束之前必须对该out的参数进行赋值,否则报错(不好意思还回去)
out传值,可以进行多个值的传回
public void Jia(int b,out int c)
{
c = b + 10;
}

Console.Write("请输入a=");
int a = int.Parse(Console.ReadLine());
int c = 4;
Program hanshu = new Program();
hanshu.Jia(a,out c);
Console.WriteLine(c);
Console.ReadLine();

//使用return如何返回多个值
public string fanhui()
{
return 1 + "-" + 2 + "-" + 5;
}

Program hanshu = new Program();

string[] array = hanshu.fanhui().Split(‘-‘);
int [] arr = new int[array.Length];
for (int i = 0; i < array.Length; i++)
 arr[i] = int.Parse( array[i]);
}

函数练习:

{
1.求羊
每过一个村庄,卖掉之前总数的二分之一零一只
过了7个村庄之后还有两只
最初有多少只羊

//无参有返
public int assd()
{
int sum = 0;
for (int i = 0; i < 7;i++ )
{
if (i == 0)
{
sum = 2;
}
else
{
sum = 2 * (sum + 1);
}

}
return sum;

}
static void Main(string[] args)
{
Program hanshu = new Program();
int s = hanshu.assd();
Console.WriteLine(s);
Console.ReadLine();
2.掷骰子,投几走几步,逢3进1,逢5退1,逢7进2,逢0退4,求投几次后一共走了多少步?

//有参有返
public int bu(int s)
{
int bu = 0;
Random ran = new Random();
for (int i = 0; i < s; i++)
{
int a = ran.Next(1, 7);
bu += a;
if (bu % 10 == 3)
{
bu += 1;
}
else if (bu % 10 == 5)
{
bu -= 1;
}
else if (bu % 10 == 7)
{
bu += 2;
}
else if (bu % 10 == 0)
{
bu -= 4;
}
else
{
continue;
}
}
return bu;
}
static void Main(string[] args)
{
Program hanshu = new Program();
Console.Write("输入您投的次数:");
int x = hanshu.bu(int.Parse(Console.ReadLine()));
Console.WriteLine(x);
Console.ReadLine();
3.在一个箱子里有16个红球(编号1-16),3个蓝球(编号17-19),1个黄球(编号20),
随机抽取一个,抽中蓝球加4分,抽中黄球加7分,每抽中红球5次减2分,
抽几次后能达到100分

//无参有返
public string d()
{
Random ran = new Random();
int fen = 0;
int i = 1;
int c = 0;
for (; ; )
{
int s = ran.Next(1, 21);
if (s < 17)
{
c++;
if (c == 5)
{
fen -= 2;
c = 0;
}
}
else if (s < 20)
{
fen += 4;
}
else
{
fen += 7;
}
i++;
if (fen >= 100)
{
break;
}
}
return "需要" + i + "次,才能达到100分";
}
static void Main(string[] args)
{
Program hanshu = new Program();
string s = hanshu.d();
Console.WriteLine(s);
Console.ReadLine();

时间: 2024-10-08 08:15:48

8.1c# 函数及out传值的相关文章

初识函数、函数的参数、函数的参数传值、函数的调用形式、函数的返回值

初识函数 内置函数自定义函数 定义无参函数 #只打印执行语句的时候def foo(): print('from the foo')# print(foo.__doc__) #查看函数的文档注释 定义有参函数 #依赖外部传来的值的时候def bar(x,y): print(x) print(y) 定义空函数 #程序开发阶段经常使用,写程序框架的时候def auth(): pass 函数的参数 函数的参数介绍形参和实参的概念 def foo(x,y): #在函数定义阶段,括号内定义的参数->形式参数

Asp:函数是用传值还是传址

传址会把变量的内存地址传递到sub里,在sub里对变量所做的修改就是对原来的变量进行修改,而传值只是把变量的值传递到sub里,此时在sub里修改变量的值不会影响原来的变量. 在vb中调用函数默认是传址(byref),你可以在函数的参数前加byval使用传值方式. Private Sub test(a, ByRef b, ByVal c) a和b都是传址,c是传值 注:在asp中的函数里,默认是传址,如果需要传值,将变量前面加 ByVal 即可.

Python函数中多类型传值和冗余参数及函数的递归调用

1.多类型传值和冗余参数 多类型传值: def fun(x,y): return x +y print fun(3,5) 8 print fun(*t) 3 def fun(x,y,z): return x + y + z t1 = (1,2,3) fun(*t1) 6 fun(*(2,4,5)) 11 fun(1,*t) 4 print t (1, 2) fun(x=1,y=3,z=5) 9 >>> dic = {'x':1,'y':3,'z':6} >>> fun(

函数参数的传值和传指针有什么区别?

前言 我们可能听过C语言中的传值和传指针,在其他语言中,也有传引用一说,那么他们到底有什么区别呢?如果你还不能准确地分辨,就该好好了解一下了. 传值 我们在初学C语言的时候就被老师教过,下面的方式是无法交换a和b的值的: #include<stdio.h> void swap(int a,int b) { int temp = a; a = b; b = temp; printf("swap a = %d,b = %d\n",a,b); } int main(void) {

函数可变参传值(python)

1.定义方法的基本语法 def fun(n,m,...) .... .... .... (return n) 关于return: 1,return可以有,可以没有, 2,没有return的方法返回None, 3,return后面没有表达式也是返回None, 4,函数无法到达结尾也返回None. 例: def test(a,b): c=a+b 上函数没有return,故输入test(1,2),没有返回值. def test(a,b): c=a+b return c 上函数加上了return,输入t

函数参数的传值与传址

在如下的主函数里面调用swap函数,问哪一个才能正确交换a,b两变量的值?int main(){    int a=3,b=5;    int *pointer_1 = &a;    int *pointer_2 = &b;    swap(pointer_1,pointer_2);    printf("%d %d",*pointer_1,*pointer_2);    return 0; } /**swap1是正确的,通过地址传递参数,令pointer_1和poin

类对象做函数参数(传值和传引用)

一.传引用 #include "stdafx.h" #include <iostream> using namespace std; class A { public: virtual void show(){cout<<"A"<<endl;} }; class B:public A { public: virtual void show(){cout<<"B"<<endl;} }; c

函数的多类型传值

如下: #!/usr/bin/env python def fun(x, y): print(x+y) fun(2, 3) # 把数值类型作为参数传入函数 fun('a', 'b') # 把字符串类型作为参数传入函数 t = (2, 3) # 把元组类型作为参数传入函数 fun(*t) dic = {'x':2, 'y':3} # 把字典类型作为参数传入函数 fun(**dic) 原文地址:https://www.cnblogs.com/pzk7788/p/10262192.html

C语言中不同函数之间怎么传值?

#include <stdio.h> int change(); int change(int j) { j=0; return(j); } void main() { int b = change (b); printf("%d",b); }