C言語なら俺に聞け! Part 91

このエントリーをはてなブックマークに追加
952946:04/10/02 03:41:52
>>951
どうもありがとうございます。大変良く分かりました。
953デフォルトの名無しさん:04/10/02 09:55:58
関数からの返り血を2つ3つに増やせませんか?
954デフォルトの名無しさん:04/10/02 09:58:09
>>953
増やせません
引数をポインタで渡すか、グローバル変数を使うしかして
955デフォルトの名無しさん:04/10/02 10:01:45
構造体じゃだめなん?
956デフォルトの名無しさん:04/10/02 10:03:08
てかね、「関数」の定義って数学ではそういうもんですから。
その意味では関数、というかfunctionてネーミングはぴったし。
957デフォルトの名無しさん:04/10/02 10:15:11
別に、一つの関数で二つ以上の値が決定してもいいんじゃ?
直積を考えれば一つになるけど。
958デフォルトの名無しさん:04/10/02 10:17:10
>>953
仮にそのようなことが出来たとして、

x = f(a); /* f(a) は 2 と 3 を返す関数 */

って書いたとき、x には何が入れば気が済むの?

(しかし、世の中には2つや3つどころではなく、
無限の返り血を持つ関数を作る事が出来る言語が
あるのも事実だけどな)
959デフォルトの名無しさん:04/10/02 10:18:49
>>958
リスト形式で。
960デフォルトの名無しさん:04/10/02 10:19:43
(x, y) = f(a);
きっとこんな感じ
961Ruby最強!!!!:04/10/02 10:24:30
Rbuby ,?>>>>>>>>>>>>>>>>>>>>>>>>>」Cghengpo えっっっっっっっっw
Rbuy細工世婦!!!!!!!!
Rubysaikyou !」

Rubyty!!!!!!!!
962Ruby最強!!!!:04/10/02 10:26:44
誇らしいですね。Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>Ruby .?????????>>>>>>>>>>>Ruby!
963デフォルトの名無しさん:04/10/02 10:38:09
>>Ruby厨
作者が異常なまでにプライド持っている言語は
ユーザまでその言語を崇拝しだすのか。
964デフォルトの名無しさん:04/10/02 10:38:55
>>959
ではリストを一つ返せばいいのでは?

返り血一つで足りるだろ?
965デフォルトの名無しさん:04/10/02 10:42:40
>>963
961=962=963
荒らしたいだけの無能
966Ruby最強!!!!:04/10/02 10:44:46
Rubyのためなら死ね
967デフォルトの名無しさん:04/10/02 11:16:51
自分が何がわからないのかわかりません。
どうしたらいいですか?
968デフォルトの名無しさん:04/10/02 12:05:47
究極の質問にこたえてくだちいこのボケども

float a;
float b;
float c;

と延々とかくのと

float a,b,c,・・・;

と書くのはどっちが良いのか教えてくれにょ
どちらもかわらないのかにょー?
969デフォルトの名無しさん:04/10/02 12:08:08
>>968
あんたはどっちがいいと思うんだ?
先ずはそれを聞かせてもらおうじゃないか。
970デフォルトの名無しさん:04/10/02 12:09:20
時と場合に寄りますが何か?何か問題でも?
971デフォルトの名無しさん:04/10/02 12:11:48
>>968
まとまりごとに書くのがよろしい。
ただし、ポインタは一行ごとに書くのがよろしい。
このようなコーディングルールは必ず定めるようにしましょう。
また、定められたコーディングルールには必ず従いましょう。
float count1, count2;
float a, b, c;
float tmp;
float x, y;
float* test1;
float* test2;
float* test3;
972デフォルトの名無しさん:04/10/02 12:20:04
>>969-971
ちゃんと答えてくださいボケども
973デフォルトの名無しさん:04/10/02 12:21:03
こういうのはやめて欲しい。
float count1, count2,
   a, b, c,
   tmp,
   x, y,
   *test1, *test2, *test3;
#実際いるんだ。10年選手なんかで。
974デフォルトの名無しさん:04/10/02 12:23:47
cで読み込める最大テキスト量って決まってるんですか?
975デフォルトの名無しさん:04/10/02 12:26:34
>>974
No
976デフォルトの名無しさん:04/10/02 12:33:40
>>974
無限のテキストでも対応可能です。
977デフォルトの名無しさん:04/10/02 13:20:24
>>973
止めて欲しいなら直接言えよ。

言えないのか?(w
978デフォルトの名無しさん:04/10/02 13:26:50
>>977
>973ではコメントしなかったが、その10年選手には指摘したよ。
その他のごみためのようなコーディングスタイルと併せて。
979デフォルトの名無しさん:04/10/02 13:37:48
LPFLOAT test1, test2, test3;
980 ◆FIcNi4f8js :04/10/02 13:53:59
>>973
countをfloatで宣言してるのはどうかと思う。
981デフォルトの名無しさん:04/10/02 14:02:24
>>980
>971に言ってくれ。
982デフォルトの名無しさん:04/10/02 14:52:06
983デフォルトの名無しさん:04/10/02 16:54:07
>>971
>float* test1;

うわ、キモ!
ホントに居るんだ、こんな書き方するやつ。
984デフォルトの名無しさん:04/10/02 17:03:51
わざわざ auto をつけてる人いますか?
985デフォルトの名無しさん:04/10/02 17:12:29
* auto テレポーター *
986デフォルトの名無しさん:04/10/02 17:14:44
いしのなかにいる
987デフォルトの名無しさん:04/10/02 18:14:01
>>984
おれおれ
988デフォルトの名無しさん:04/10/02 18:14:22
>968
WIZネタかよw
989974:04/10/02 18:19:22
975,976ありがとうございます。
ショボノートPCで1GBほどよませるよていです。
990デフォルトの名無しさん:04/10/02 18:21:39
#include<stdio.h>
int main(void)
{
int *p,*q;
int a,b,c;
printf("数A:");
scanf("%d",&a);
printf("数B:");
scanf("%d",&b);
p=&a;
q=&b;
c=*p;
*p=*q;
*q=c;
puts("2つの値を交換しました");
printf("数A:%d\n数B:%d",a,b);
return(0);
}

ポインタを使って2つの数字を交換するCプログラムなんですけど、
これ以上工夫する事は出来ますか?教えてください。
991デフォルトの名無しさん:04/10/02 18:25:48
int a, b, c;
c = a;
a = b;
a = c;
992991:04/10/02 18:26:21
しまった、見間違えた。
忘れてくれ。
993デフォルトの名無しさん:04/10/02 18:28:06
>>989
お好きにどうぞ。
C言語では扱えるけど、君のマシンのメモリが足りない可能性はあるよね。
994デフォルトの名無しさん:04/10/02 18:44:10
>>990
#include<stdio.h>
int main(void)
{
int *p,*q;
int a,b,c;
char s[]="数A:";
char t[]="数B:";
char u[]="2つの値を交換しました";
char v[]="%d";
char w[]="%s%s";
char x[]="\n";
char y[256];
char z[256];
printf(s);
scanf(v,&a);
printf(t);
scanf(v,&b);
p=&a;
q=&b;
c=*p;
*p=*q;
*q=c;
puts(u);
sprintf(y,w,w,x);
sprintf(z,w,y,w);
sprintf(y,z,s,v,t,v);
printf(y,a,b);
return(0);
}
995デフォルトの名無しさん:04/10/02 19:07:09
#include<stdio.h>
#define p printf
#define s scanf
main(){int a,b;char*x="数A:",*y="数B:";return p(x),s("%d",&a),p(y),s("%d",&b),p("2つの値を交換しました\n%s%d\n%s%d",x,b,y,a),0;}
996ビル・ジョブス:04/10/02 19:40:16
#include<stdio.h>
int main(void)
{
int a, b;
int *pA = &a,*pB = &b;
printf("数A:");
scanf("%d", pA);
printf("数B:");
scanf("%d", pB);
*pA ^= *pB;
*pB ^= *pA;
*pA ^= *pB;
printf("2つの値を交換しました\n");
printf("数A:%d\n数B:%d\n", a, b);
return 0;
}
997ビル・ジョブス:04/10/02 19:46:51
a,bがunsignedじゃないからダメダメですね。oO
逝ってきます。
998デフォルトの名無しさん:04/10/02 19:56:40
んや。
問題になるのはマクロにしたときa,bが同じ変数の場合。
999デフォルトの名無しさん:04/10/02 20:03:46
1000?
1000!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。