初心者ですがC#でメソッドの返り値2つ目ってどうやって出力すれば…?

1 : 2022/01/19(水) 08:28:34.855 ID:GtaNkqxld
Console.WriteLine(c(5,5));

int c(int a,int b)
{
return a = a + b;
return b = 11;

}

これだと10って出ます
11を返すにはどうすればいいでしょうか

2 : 2022/01/19(水) 08:29:30.784 ID:9irk5wxXa
まず服を脱ぎます
3 : 2022/01/19(水) 08:29:34.201 ID:Hy09XWBMa
配列にa,b入れてそれ返すとか
4 : 2022/01/19(水) 08:31:17.611 ID:c2oxWinf0
これエラーにならんか?
5 : 2022/01/19(水) 08:31:33.331 ID:c51YYT6k0
int cをもう一個作る
6 : 2022/01/19(水) 08:31:50.235 ID:E5CSCqOq0
無理なんだなこれが
7 : 2022/01/19(水) 08:32:03.320 ID:MZ6XMndY0
ポインタで返そう
8 : 2022/01/19(水) 08:34:34.222 ID:GtaNkqxld
エラは出ませんでした
9 : 2022/01/19(水) 08:36:01.085 ID:WDBw6/hpp
そりょreturnしてるんだからそうなるだろ
Cだとreturn a,bとかでいけないんだっけ?パソコン開いて確認するのがだるい
17 : 2022/01/19(水) 08:44:18.440 ID:GtaNkqxld
>>9
ありがとうありがとうありがとうありがとうありがとうありがとうありがとうありがとうありがとうありがとうありがとうありがとうありがとうありがとううわぁああああああ
10 : 2022/01/19(水) 08:36:24.923 ID:NWzmqZEz0
あまりにも理解できてなさすぎ
14 : 2022/01/19(水) 08:41:22.624 ID:GtaNkqxld
>>10
昨日からはじめました。勘弁
15 : 2022/01/19(水) 08:42:12.977 ID:vYg19vgx0
>>14
じゃあルールを覚えよう
ルールで出来ないってあるんだから出来ないもんはできない
みんなが挙げてる別のやり方するしかない
11 : 2022/01/19(水) 08:37:14.677 ID:UAUmhFWI0
てか、Cのルールって戻り値1つじゃね
2つ返したいなら片方グローバル変数で持って入れるとかポインタで入れるとかすれば
12 : 2022/01/19(水) 08:38:13.650 ID:c/vqMfLy0
それか配列で返せばいいんじゃね
13 : 2022/01/19(水) 08:38:44.158 ID:IGc8aWcga
11のほうは到達できないって警告は出るかもね
戻り値をリスト化するかクラス化するかoutするか
16 : 2022/01/19(水) 08:43:00.983 ID:AU2oE7Uc0
まずお前が何を書いたのか日本語訳してみれや
「ひとつの整数値を返すcという関数を考えてください。それは整数aと整数bを受け取って計算するものです」から始まってるだろ?
ひとつだけ返すって言ってんだから一つしか返せないに決まってんじゃん
18 : 2022/01/19(水) 08:44:38.553 ID:GtaNkqxld
returnの理解不足でした
19 : 2022/01/19(水) 08:45:02.933 ID:jPVrTCax0
Cの関数においてルールは、引数は好きな数だけ渡せる、戻り値は1つまで。
これがルール
27 : 2022/01/19(水) 08:51:48.227 ID:GtaNkqxld
>>19
分かりやすい。
ユーチューブの先生は動画でそんなこと言ってなかったから知らなかった

俺のイメージでは最初に書いたコードで

10,11

が表示されるもんだと思ってた

20 : 2022/01/19(水) 08:46:07.319 ID:efu1kF+od
なんか2つ以上変数同時に使うときはとりあえずコロンとか挟むといいと思ってるけどどうだろう
21 : 2022/01/19(水) 08:46:16.722 ID:o3/8gtN6a
リターンしてるからだろ
必要なら配列で返せ
22 : 2022/01/19(水) 08:46:24.108 ID:oFz543Q4M
Cに向いてない
26 : 2022/01/19(水) 08:50:29.475 ID:GtaNkqxld
>>22
おけ!やめます!
23 : 2022/01/19(水) 08:48:42.672 ID:VUOHqTand
タプルしろよ
24 : 2022/01/19(水) 08:49:32.100 ID:efu1kF+od
あ、return a =a+b;しちゃってるからreturn b;まで届かないのか

a=a+b;の前のreturnを消してはいかがでしょう

25 : 2022/01/19(水) 08:49:46.139 ID:E5CSCqOq0
基本的には1メソッドでは1つの目的の事をさせて
メソッドを組み合わせたメソッドでは最終的な答えをListやクラス型のインスタンスで出力する
例外的にref out in と言ったポインタやstatic変数を使う事も出来る
28 : 2022/01/19(水) 08:52:37.532 ID:ZziHfP00M
いい方法がある
ポインタで渡すんだ
29 : 2022/01/19(水) 08:53:00.578 ID:TP4CoOu20
識者「outとかref使え」
30 : 2022/01/19(水) 09:01:59.845 ID:GtaNkqxld
ポインタは全くわかりません。
また学んできます

コメント

タイトルとURLをコピーしました