C言語なら俺に聞け(入門編)Part 97
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2012/02/14(火) 04:28:49.26★前スレ
C言語なら俺に聞け(入門編)Part 96
http://toro.2ch.net/test/read.cgi/tech/1328292100/
★過去スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 156代目
http://toro.2ch.net/test/read.cgi/tech/1328276597/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
# サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
長くなりそうなコードはcodepadに貼り付けてもいいでしょう
http://codepad.org/
0002デフォルトの名無しさん
2012/02/14(火) 18:52:55.680x01 ^ 0xff とはどういう意味なのでしょうか?
0003デフォルトの名無しさん
2012/02/14(火) 18:54:18.840004デフォルトの名無しさん
2012/02/14(火) 19:07:19.86^はxorで、両方のビットが同じなら0、同じでなかったら1になる演算。
それは0xfeになる。
0005デフォルトの名無しさん
2012/02/14(火) 19:29:24.50ホントにゴミなもんですいません
>>4
ありがとうございます
助かります
0006デフォルトの名無しさん
2012/02/14(火) 19:32:25.97検証お願いします
0007デフォルトの名無しさん
2012/02/14(火) 19:36:18.66何ヶ月か前も同じコード見た記憶があるんだけど、なんで何回もきくの?
0008デフォルトの名無しさん
2012/02/14(火) 19:53:09.84どうなの?
0009デフォルトの名無しさん
2012/02/14(火) 19:53:12.95バブルソートの問題なのですが、前から順に入れ替えたいと思い、
以下のソースを作成したのですが、うまくいきませんでした。
どこに問題があるのか教えていただけるとありがたいです。
#include <stdio.h>
int main(void){
int i,j,temp;
int suji[]={2,5,4,3};
for(i=0;i<4;i++){
for(j=i;j<3;j++){
if(suji[j]>suji[j+1]){
temp=suji[j];
suji[j]=suji[j+1];
temp=suji[j+1];
}
}
}
for(i=0;i<=3;i++){
printf("%d\n",suji[j]);
}
return 0;
}
よろしくお願いします。
0010デフォルトの名無しさん
2012/02/14(火) 19:57:04.09値の交換が間違ってるのと(tempに二回代入してる)
最後の表示はjじゃなくてiを使う
0011デフォルトの名無しさん
2012/02/14(火) 19:59:55.89値の交換はこうだろ。
temp=suji[j];
suji[j]=suji[j+1];
suji[j+1]=temp;
0012デフォルトの名無しさん
2012/02/14(火) 20:04:01.88おっしゃる通りにしたらうまくいきました。
ありがとうございました。
>>11
うまくいきました。
ありがとうございました。
また機会があったらお願いします。
0013デフォルトの名無しさん
2012/02/14(火) 20:09:23.94http://codepad.org/FUJglqDE
0014デフォルトの名無しさん
2012/02/14(火) 20:16:36.170015デフォルトの名無しさん
2012/02/14(火) 20:19:43.07それバブルソートじゃないだろw
0016デフォルトの名無しさん
2012/02/14(火) 20:23:10.97http://codepad.org/1pinYZZ8
0017デフォルトの名無しさん
2012/02/14(火) 20:30:34.07http://www.youtube.com/watch?v=ljMU6kLfa7E&feature=related
昔、いろんなソートを可視化した動画を見たんだけどみつからない...
0018デフォルトの名無しさん
2012/02/14(火) 20:33:30.95それもバブルソートじゃないだろ?
0019デフォルトの名無しさん
2012/02/14(火) 20:39:25.05for(j=0;j<3-i;j++){
だな
0020デフォルトの名無しさん
2012/02/14(火) 20:43:53.08だね
0021デフォルトの名無しさん
2012/02/14(火) 21:03:01.710022デフォルトの名無しさん
2012/02/14(火) 21:05:25.760023デフォルトの名無しさん
2012/02/14(火) 21:06:38.91弊害ってどんな?
0024デフォルトの名無しさん
2012/02/14(火) 21:11:06.17弊害しかない
っていうことだろう
0025デフォルトの名無しさん
2012/02/14(火) 21:16:46.98でもそれで挫折するなら教えることがほとんど無いな
0026デフォルトの名無しさん
2012/02/14(火) 21:18:29.610027デフォルトの名無しさん
2012/02/14(火) 21:18:45.92自分で思いつくまでの過程が大事なんだ
0028デフォルトの名無しさん
2012/02/14(火) 22:14:51.61バブルから選択ソート、マージ、クイックと何一つ自分で思いつけなかったわ。
0029デフォルトの名無しさん
2012/02/14(火) 22:16:10.910030デフォルトの名無しさん
2012/02/14(火) 22:16:21.860031デフォルトの名無しさん
2012/02/14(火) 23:16:03.530032デフォルトの名無しさん
2012/02/14(火) 23:45:36.710033デフォルトの名無しさん
2012/02/14(火) 23:49:08.200034デフォルトの名無しさん
2012/02/14(火) 23:57:59.380035デフォルトの名無しさん
2012/02/15(水) 00:34:29.020036デフォルトの名無しさん
2012/02/15(水) 00:35:02.11そーっとしとこう
0037デフォルトの名無しさん
2012/02/15(水) 00:41:56.51クイックソートは別格だからw
0038デフォルトの名無しさん
2012/02/15(水) 00:50:20.62お手軽に実装できて動作が高速なコムソート(Comb Sort)はオススメ
アルゴリズムが単純だから悩まずにスラスラかける
0039デフォルトの名無しさん
2012/02/15(水) 00:55:35.760040デフォルトの名無しさん
2012/02/15(水) 01:52:16.150041デフォルトの名無しさん
2012/02/15(水) 01:56:50.270042デフォルトの名無しさん
2012/02/15(水) 02:04:12.020043デフォルトの名無しさん
2012/02/15(水) 02:04:54.780044デフォルトの名無しさん
2012/02/15(水) 02:50:39.510045デフォルトの名無しさん
2012/02/15(水) 02:59:32.95アホ認定。
0046デフォルトの名無しさん
2012/02/15(水) 03:05:02.07非の打ち所の無い完璧なソースですのでもう心配しないでくださいね。
0047デフォルトの名無しさん
2012/02/15(水) 08:48:35.58NBASICの時代に、市販のマージャンソフトのソート部分を修正したのはいい思い出。
0048デフォルトの名無しさん
2012/02/15(水) 10:51:25.339要素の中央値は ベタ展開で比較回数の工夫されているアルゴリズムがあるけど
要素数が可変だとすんげー面倒
0049デフォルトの名無しさん
2012/02/15(水) 11:49:11.580050デフォルトの名無しさん
2012/02/15(水) 11:53:19.89意味合いとして、値の変化の激しいところを維持しつつ ホワイトノイズを落とす って感じなので
別の1次元信号処理に応用しようとしたの(次元を可変にして)
0051デフォルトの名無しさん
2012/02/15(水) 11:59:28.390052デフォルトの名無しさん
2012/02/15(水) 16:05:40.68isgraphのとこで、印刷できる文字ってありますが
印刷ってどういう事ですか?
0053デフォルトの名無しさん
2012/02/15(水) 16:12:54.560054デフォルトの名無しさん
2012/02/15(水) 16:25:24.57c='X';
のとき
cってのはXの文字コードをint型で代入してるだけで
Xであるという事は記憶できるんですか?
0055デフォルトの名無しさん
2012/02/15(水) 16:29:38.90c='X' は c=88 とするのと同じ。
0056デフォルトの名無しさん
2012/02/15(水) 16:30:57.21でも
c=88;
と
c='X';
の時じゃ
isupper(c)が違います。int型って数字そのものを記憶するだけじゃないのでしょうか。
0057デフォルトの名無しさん
2012/02/15(水) 16:35:02.520058デフォルトの名無しさん
2012/02/15(水) 16:38:11.07違わないよ。
intでもcharでも記憶するのは数値であって、文字なんか記憶してない。
88は「X」なっていう決まりにみんなが従ってるだけ。
0059デフォルトの名無しさん
2012/02/15(水) 16:38:48.48http://codepad.org/BRWznhyP
0060デフォルトの名無しさん
2012/02/15(水) 16:39:03.67http://codepad.org/8QExKnVk
一緒になるよ
0061デフォルトの名無しさん
2012/02/15(水) 16:39:39.120062デフォルトの名無しさん
2012/02/15(水) 16:39:45.99その通りでした。c=3のとき0だったけどこれは対応が無いだけでしたね。
別にcがXを記憶していたのではなく、cの記憶していたint型の値から
isupperが文字コードに変換するという作業をしたという認識でよろしいでしょうか。
0063デフォルトの名無しさん
2012/02/15(水) 16:40:32.990064デフォルトの名無しさん
2012/02/15(水) 16:40:41.850065デフォルトの名無しさん
2012/02/15(水) 16:42:16.70文字コードのデーターベースに参照するという事でしょうね。
0066デフォルトの名無しさん
2012/02/15(水) 16:43:28.670067デフォルトの名無しさん
2012/02/15(水) 16:46:12.980068デフォルトの名無しさん
2012/02/15(水) 16:50:52.120069デフォルトの名無しさん
2012/02/15(水) 17:00:50.140070デフォルトの名無しさん
2012/02/15(水) 17:38:51.29そのほうが実質的で合理的、俺KAKKEEEEEEEEEEEEEEEEEEEEEEEEEEEとか思ってんだろ
0071デフォルトの名無しさん
2012/02/15(水) 17:48:07.89#include <stdio.h>
#include <string.h>
int main(void)
{
char c[C_SIZE], substring[C_SIZE];
int i, length;
for(i = 0; i < C_SIZE; ++i) {
c[i] = i;
}
length = 0x7E - 0x20 + 1;/* 0x7Eは、~のASCIIコード */
strncpy(substring, &c[0x20], length);/* 0x20は、半角空白のASCIIコード */
substring[length] = '\0';
puts(substring);
return 0;
}
0072デフォルトの名無しさん
2012/02/15(水) 17:50:06.52まぁソフトウェアに限って言えば今は仕事ないでしょ?
コンピュータの仕組み知ってても就職ないし。
0073デフォルトの名無しさん
2012/02/15(水) 17:52:00.65Display of File 1.TXT
000000: 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F !"#$%&'()*+,-./
000010: 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 0123456789:;<=>?
000020: 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F @ABCDEFGHIJKLMNO
000030: 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F PQRSTUVWXYZ[\]^_
000040: 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F `abcdefghijklmno
000050: 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 0D pqrstuvwxyz{|}~.
000060: 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0074デフォルトの名無しさん
2012/02/15(水) 18:22:13.30単位を取ることにしか活かされてないってのが問題だね
勉学に励む上でこの能力を活かせばいいのに。
0075デフォルトの名無しさん
2012/02/15(水) 18:39:03.00struct A{int width; int height; char* header; char* data;};
実際にはこのようにインスタンス生成される(一例)
struct A a = {
.width = 20, .height = 20,
.header = "%name=smile a=#CCCCCC b=#FFCCCCC c=#FFFF00 d=#000000",
.header = "%name=brick a=#CCCCCC b=#FFCCCC";
.data =
"aaaaaaaaaaaaaaaaaaaa"
"bbbbbabbbbbbbbbbabbb"
"bbbbbabbbbbbbbbbabbb"
"bbbbbabbbbbbbbbbabbb"
"bbbbbabbbbbbbbbbabbb"
"aaaaaaacccccaaaaaaaa"
"abbbbbbccccccccbbbbb"
"abbbbcccccccccccbbbb"
"abbbccccdcccdcccbbbb"
"abbbccccccccccccbbbb"
"aaaaccccccccccccaaaa"
"bbbbbccccdddcccbabbb"
"bbbbbabccccccbbbabbb"
"bbbbbabbbbbbbbbbabbb"
"bbbbbabbbbbbbbbbabbb"
"aaaaaaaaaaaaaaaaaaaa"
"abbbbbbbbbabbbbbbbbb"
"abbbbbbbbbabbbbbbbbb"
"abbbbbbbbbabbbbbbbbb"
"abbbbbbbbbabbbbbbbbb"
};
007675
2012/02/15(水) 18:42:00.94.header = "%name=brick a=#CCCCCC b=#FFCCCC"; この行は不要
007775
2012/02/15(水) 18:54:06.14BMP画像を変換して、この形式のCソースファイルとして出力するツールが欲しい。
pirntfでもFILE書き込みでも、なんでもいい。
とにかくこの形式に変換する簡単なツールでいい。
自分で書くの面倒なのでだれか書いてくれると助かる。
(ただし、標準C以外のライブラリーの使用はできないものとする。libbmp.aなどは使用できない制約)
簡単なものでいい。
制限が強くても構わない(たとえば256色パレットモードのBMP限定など)
0078デフォルトの名無しさん
2012/02/15(水) 18:55:52.310079デフォルトの名無しさん
2012/02/15(水) 19:00:05.20コンピュータの仕組み的な知識は必須だと思うな。
配列とか構造体とかも他の高級言語でいうような抽象的な構造じゃなくて、
メモリへのラベル付けみたいなもんでしかないし。
008075
2012/02/15(水) 19:01:49.25ので、[a-zA-Z]の50パレット程度が限度と考えて変換すればいいと思う。
(複数文字で1パレットという表し方が可能かどうかは不明)
0-9の数文字はランレングスに使うとか言いかねないので、使わない方が無難な気がする。@#%あたりの記号文字も危ないので使わない方が無難だと思う。
(とにかく、まだ仕様が決まってない。よくわからない状態)
とりあえず、BMPを50パレット程度の上記フォーマットのCコードへ変換して出力するツールを誰か書いてくれるとラクなのでお願いしますスーパーハッカーのみなさん
0081デフォルトの名無しさん
2012/02/15(水) 19:09:29.330082デフォルトの名無しさん
2012/02/15(水) 19:22:09.42失せろゴミ
0083デフォルトの名無しさん
2012/02/15(水) 19:23:12.36コンピュータの仕組み的な知識っていうけど、構造的な理解必要なの?
メモリってものがあるっていう理解以上に深いものはないでしょ。
int a=30;
なら何番地に30
string s="str"なら
何番地から何番地にかけてs t r
っていうね。
0084デフォルトの名無しさん
2012/02/15(水) 19:29:21.990085デフォルトの名無しさん
2012/02/15(水) 19:30:42.13プログラムカウンタ、スタックポインタ、スタックフレーム、スタック、ヒープ、
みたいな、実行時のイメージみたいなのは持ってる必要があると思う。
0086デフォルトの名無しさん
2012/02/15(水) 19:34:31.410087デフォルトの名無しさん
2012/02/15(水) 19:36:59.220088デフォルトの名無しさん
2012/02/15(水) 19:39:52.22できるはず…?
実際は、C++コンパイラ(ライブラリ)をつかうとおもう。
たとえば、SmartWin
exitThread = fork(x, & KozuchiWidgets::ThreadWaitForObjectsCall);
これは、Cにみえるでしょ
C++Builder4のVCL(「TThread オブジェクトは,アプリケーションで複数の実行スレッドを作成できる抽象クラスです」)
0089デフォルトの名無しさん
2012/02/15(水) 19:48:29.86Windows APIでは、
CreateThread()
TerminateThread()
ExitThread()
0090デフォルトの名無しさん
2012/02/15(水) 19:52:33.35Cって機能少ないなぁ
0091デフォルトの名無しさん
2012/02/15(水) 19:56:20.270092デフォルトの名無しさん
2012/02/15(水) 20:00:32.13(わからない人はいいです。さよなら)
これにムカついたので作りません
009375
2012/02/15(水) 20:00:51.81#include <pthread.h>
#include <stdio.h>
void* f(void* a){int i=100; while(i-->0) putchar(*((char*)a));}
main(){
pthread_t a,b;
pthread_create(&a, NULL, f, "A");
pthread_create(&b, NULL, f, "B");
pthread_join(a, NULL);
pthread_join(b, NULL);
}
0094デフォルトの名無しさん
2012/02/15(水) 20:04:15.68また抽象データ型の反対って何ですか?
0095デフォルトの名無しさん
2012/02/15(水) 20:17:09.13自前で作ったものでシミュレートする事はできるだろうけど。
言葉的には抽象の反対は具象だわね。
009675
2012/02/15(水) 20:17:19.43C++だと純粋仮想関数だけで定義したクラスを抽象クラスと呼ぶけど、それに近い概念のC版は知らない。
0097デフォルトの名無しさん
2012/02/15(水) 20:18:11.02なんでコテなの?
クソコテなの?
009875
2012/02/15(水) 20:20:10.59べつにいいわ、もう書いたし。
0099デフォルトの名無しさん
2012/02/15(水) 20:21:34.79意味わかんねー...
0100デフォルトの名無しさん
2012/02/15(水) 20:34:26.98慣れないと分からんわ。
0101デフォルトの名無しさん
2012/02/15(水) 20:45:49.100102デフォルトの名無しさん
2012/02/15(水) 20:53:56.32もちろんオフセットを使うよりは抽象的だろうけど、
抽象データ型ってのはそういうのじゃないと思う。
0103デフォルトの名無しさん
2012/02/15(水) 21:33:28.720104デフォルトの名無しさん
2012/02/15(水) 21:40:47.660105デフォルトの名無しさん
2012/02/15(水) 21:43:37.920106デフォルトの名無しさん
2012/02/15(水) 21:45:47.050107デフォルトの名無しさん
2012/02/15(水) 21:49:12.49アホがいる……
0108デフォルトの名無しさん
2012/02/15(水) 21:56:01.01int型はcharの4倍大きい容量でしょw
0109デフォルトの名無しさん
2012/02/15(水) 22:07:23.94配列 = 等間隔に一様なデータ並べた構造
と決め付けて掛かっちゃうからねー
0110デフォルトの名無しさん
2012/02/15(水) 22:14:17.67何が言いたいのか知らんが
0111デフォルトの名無しさん
2012/02/15(水) 22:27:53.09いじめるとおもろいぞ
0112デフォルトの名無しさん
2012/02/15(水) 22:41:22.03sizeof(int) == sizeof(char) * 4 は環境次第じゃないっけ
0113デフォルトの名無しさん
2012/02/15(水) 22:48:10.78C言語マスターさん教えてください
0114デフォルトの名無しさん
2012/02/15(水) 22:50:31.73うん。
あと、intが16bit以上であることも確実
0115デフォルトの名無しさん
2012/02/15(水) 22:52:04.250116デフォルトの名無しさん
2012/02/15(水) 22:53:01.09符号化方式によっては保持できるかと
0117デフォルトの名無しさん
2012/02/15(水) 22:54:00.81いったん決めたら後から変えたくなっても変えづらいから。
今はbit数で型指定できるからそれで問題ないでしょ
0118デフォルトの名無しさん
2012/02/15(水) 22:54:18.11有償でインストールするのでお願いします。
0119デフォルトの名無しさん
2012/02/15(水) 23:00:52.56世の中にはいろんなアーキテクチャがあるからだよ。
>>115
専用の型を使え。
>>118
環境/用途による。
0120デフォルトの名無しさん
2012/02/15(水) 23:24:22.59漢字の型ってあるの?
kyara型とか?
0121デフォルトの名無しさん
2012/02/15(水) 23:27:05.84環境による。
0122デフォルトの名無しさん
2012/02/15(水) 23:39:56.96012375
2012/02/15(水) 23:41:50.67記録容量ケチろうとしてるのが原因。
1文字4バイト固定の文字コードをアングロサクソンが受け入れれば、以降に書かれるアプリで文字コードの問題は未来永劫起こらない。
0124デフォルトの名無しさん
2012/02/15(水) 23:52:48.560125デフォルトの名無しさん
2012/02/15(水) 23:53:10.90お前はユニコードも知らんのか。
0126デフォルトの名無しさん
2012/02/16(木) 00:36:01.220127デフォルトの名無しさん
2012/02/16(木) 00:40:21.250128デフォルトの名無しさん
2012/02/16(木) 00:41:15.29UTF-16
UTF-8
UTF-32
http://toro.2ch.net/test/read.cgi/tech/1291075205/475-476
0129デフォルトの名無しさん
2012/02/16(木) 01:19:04.38字面上の1文字に対応するとは限らないので
>>123みたいな発想は手遅れ
0130デフォルトの名無しさん
2012/02/16(木) 01:39:20.38グラフィックライブラリ?
GUIではなくて? マルチメディアライブラリ? ハードウェアで高速描画?
有償のライブラリ?
0131デフォルトの名無しさん
2012/02/16(木) 01:49:17.870132デフォルトの名無しさん
2012/02/16(木) 01:49:46.430133デフォルトの名無しさん
2012/02/16(木) 01:51:45.810134デフォルトの名無しさん
2012/02/16(木) 01:58:29.840135デフォルトの名無しさん
2012/02/16(木) 02:01:54.54古いのでいいのなら無償でインスコできますかね?
0136デフォルトの名無しさん
2012/02/16(木) 02:02:19.540137デフォルトの名無しさん
2012/02/16(木) 02:10:57.342010 expressを今ネトインスコしてます。
まじでドキドキします。
俺のPCで動くのだろうか。
0138デフォルトの名無しさん
2012/02/16(木) 02:46:12.850139デフォルトの名無しさん
2012/02/16(木) 02:52:44.520140デフォルトの名無しさん
2012/02/16(木) 03:13:02.490141デフォルトの名無しさん
2012/02/16(木) 06:15:16.58ずっと起動しとけば問題ない
0142デフォルトの名無しさん
2012/02/16(木) 15:40:52.76それとも、それぞれを分けて、一つずつ値を返す関数を書くのがいいのでしょうか。
あるいは、その二つのint型変数をグローバル変数として宣言し、呼ばれる側の関数で処理をするのがいいのでしょうか。
ないしは、呼ばれる側の変数にアドレスを渡して、ポインタを使って直接アクセスするのがいいのでしょうか。
私は、ポインタを使って直接アクセスするように書いたのですが、この方法では呼ぶ側の関数で必要のない変数(二つのint型変数)を宣言しなければならず、これが少し気持ち悪い気がするのです。
こんなときはどのようにするのが一番いいのでしょうか。
0143デフォルトの名無しさん
2012/02/16(木) 15:44:03.960144デフォルトの名無しさん
2012/02/16(木) 15:47:02.34二つのint型変数の値を返すんだから、返してもらう方(呼び出し側)が器用意してあげないでどうする?
0145デフォルトの名無しさん
2012/02/16(木) 15:49:34.14>呼ぶ側の関数で必要のない変数
それ値返す必要が無いんじゃね?
0146デフォルトの名無しさん
2012/02/16(木) 15:53:34.90void makefile(const char *filename) {
FILE *fp;
char in[5], out[5];
if ((fp = fopen(filename, "r")) == NULL) {
fp = fopen(filename, "a");
fclose(fp);
} else fclose(fp);
output_data(in, out);
output_file(filename, in, out);
}
/* 出勤、退勤の打刻 */
void output_data(char *p, char *q) {
int i;
for (i = 0; i < 5; i++) {
p[i] = 0x00;
q[i] = 0x00;
}
puts("出勤時刻の打刻");
printf("出勤時刻:");
scanf("%4s", p);
puts("退勤時刻の打刻");
printf("退勤時刻:");
scanf("%4s", q);
}
/* ファイルに書き込む */
void output_file(const char *filename, char *in, char *out) {
FILE *fp;
fp = fopen(filename, "a");
fprintf(fp, "%s,%s\n", in, out);
fclose(fp);
}
0147デフォルトの名無しさん
2012/02/16(木) 15:57:18.05これがソースなのですが、inとoutの値を返すのにはその器が必要ですよね。
ありがとうございました。
0148デフォルトの名無しさん
2012/02/16(木) 15:58:57.31待て。話が違うぞw
0149デフォルトの名無しさん
2012/02/16(木) 16:02:37.39このソースでは数値を文字列として受け取り、あとからatoi関数で変換しようと思ったのですが、本当はint型のinとoutという変数を使いたかったのです。
すみませんorz
0150デフォルトの名無しさん
2012/02/16(木) 16:11:45.02全ての文字を表せる、おれおれ文字コードのできあがり。
0151デフォルトの名無しさん
2012/02/16(木) 16:25:01.40もともと2つの整数をメンバーとする構造体(Win32のRectやPoint)が存在し、
それを返すことで見通しが良くなるなら、それを返してもよい。整数2つくらいなら問題ない。
その関数の返却値のために構造体を作ることは控えた方がいい。
>>148ならば配列で渡す場合が多いと思う。
0152デフォルトの名無しさん
2012/02/16(木) 17:43:49.250153デフォルトの名無しさん
2012/02/16(木) 17:50:09.38って自称してる。
0154デフォルトの名無しさん
2012/02/16(木) 18:02:46.01なるほど。
コマンドプロンプトでのコマンドはVisual C++独自のものってあるんですか?
0155デフォルトの名無しさん
2012/02/16(木) 18:12:36.230156デフォルトの名無しさん
2012/02/16(木) 18:13:33.06コンパイルするときのオプションコマンドですよ。
独自のものあるんでしょうか?
0157デフォルトの名無しさん
2012/02/16(木) 18:18:34.71自分で判断してください
0158デフォルトの名無しさん
2012/02/16(木) 18:18:44.78つまり宣伝すればするほど儲かるフジテレビ
http://www.officiallyjd.com/wp-content/uploads/2011/02/20110211_kpop_22.jpg
Kポップの版権を大量に抱えるフジパシフィックの取締役の物まねをする石橋
http://petite-soeur.dyndns.org/cgi-bin/up2/src/ps217256.jpg
KARAと踊る木梨
http://petite-soeur.dyndns.org/cgi-bin/up2/src/ps217372.jpg
とんねるずの韓流始めました
http://petite-soeur.dyndns.org/cgi-bin/up2/src/ps217209.jpg
韓国ageだけならまだしもとうとう日本sageまで行った売国ウジテレビチョン
※すべて蛆テレビで放送されたドラマ内の映像
記事・http://f2.upup.be/f/r/Eg9oj2i3qj.jpg
リトルTシャツ・http://f2.upup.be/f/r/0mnCmqmRHt.jpg
ワラ人形・http://f2.upup.be/f/r/97LrjtAqCU.jpg
首相・http://f2.upup.be/f/r/wH05SJZsJP.jpg
JAP・http://f2.upup.be/f/r/gX5bBAhSal.jpg
0159デフォルトの名無しさん
2012/02/16(木) 18:20:06.83思いました
0160デフォルトの名無しさん
2012/02/16(木) 18:22:51.67ほれ
http://msdn.microsoft.com/ja-jp/library/610ecb4h.aspx
0161デフォルトの名無しさん
2012/02/16(木) 18:31:49.54ありがとう兄さん
でも使う事なさそうだね
0162デフォルトの名無しさん
2012/02/16(木) 19:05:33.82使いまくるよ。
cl /? で一覧出てくるからどうぞ。
0163デフォルトの名無しさん
2012/02/16(木) 19:43:23.390164デフォルトの名無しさん
2012/02/16(木) 20:15:33.79このコードで表示されたアドレスは、どこを指すアドレスなのでしょうか?
http://ideone.com/RuybV
0165デフォルトの名無しさん
2012/02/16(木) 20:18:33.350166デフォルトの名無しさん
2012/02/16(木) 20:29:06.68"abc"の先頭アドレスと
"def"の先頭アドレスが格納されている
ポインタ配列の先頭アドレス。
0167デフォルトの名無しさん
2012/02/16(木) 20:31:14.77作れないの?
helloworl.cppとgoodbye.cppの二つのC++file作って実行したい。
0168デフォルトの名無しさん
2012/02/16(木) 20:31:32.280169デフォルトの名無しさん
2012/02/16(木) 20:32:19.390170デフォルトの名無しさん
2012/02/16(木) 20:32:38.06str
↓
+--+
| →{ 'a', 'b', 'c', '\0' }
+--+
| →{ 'd', 'e', 'f', '\0' }
+--+
0171デフォルトの名無しさん
2012/02/16(木) 20:41:26.04ありがとうございます。
0172デフォルトの名無しさん
2012/02/16(木) 21:19:03.90#include <stdlib.h>
#include <stdio.h>
void gen(int *pin, int *pout)
{
*pin = 142;
*pout = 149;
}
int main(void)
{
int in, out;
gen(&in, &out);
printf("%d\n%d\n", in, out);
return 0;
}
0173デフォルトの名無しさん
2012/02/16(木) 21:23:06.020174デフォルトの名無しさん
2012/02/16(木) 21:29:33.450175デフォルトの名無しさん
2012/02/16(木) 21:30:24.97ウインドウが邪魔で仕方ない。
これ何でしょうか?
0176デフォルトの名無しさん
2012/02/16(木) 21:35:01.13この欄なんですか?
0177SCHEME餃子 ◆8X2XSCHEME
2012/02/16(木) 22:12:20.20あれは言語の意味論としては、メソッドがコレクションを返した上で代入時に分配してる。
真に複数の返り値 (多値) をもっている言語はやっぱり LISP くらいじゃないかなぁ。
どちらかが常に便利というわけではないけどね。
スレ違いスマソ
0178デフォルトの名無しさん
2012/02/16(木) 23:25:56.072つの値のペアに意味があるならstructにすればいい。
今回はstructにした方がいいケース。プログラムがそれなりに大きいなら
きっとほかにもメンバーが入るはず。
>>156
お前がいいたのはオプションじゃなくてコマンド名だろ。
コンパイラドライバの名前はclだ。
>>177
Occam2が持ってたな。a, b := c, d
パラレルプログラミングがとても簡単だったな。
0179デフォルトの名無しさん
2012/02/16(木) 23:34:55.450180デフォルトの名無しさん
2012/02/16(木) 23:55:49.43http://pub.cozmixng.org/~the-rwiki/?cmd=view;name=%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%B8%C0%B8%EC%A4%CE%C8%E6%B3%D3%3A%3A%C2%BF%BD%C5%C2%E5%C6%FE
0181デフォルトの名無しさん
2012/02/16(木) 23:56:52.692月19日 韓国は即刻竹島から?出て行け 日本国民大規模デモi?n浅草
日時 2/19(日曜日)【集合場所】金竜公園【集合時間】13:30【出発時間】14:00
デモ主催者のゆうさんがキムテヒをCMに起用するロート製薬糾弾も決定!
コールの一例
「ロート製薬は韓国の竹島侵略を正当化しているキムテヒをCMに起用するなー」
「ロート製薬は韓国の竹島侵略を認めた事になるぞー」
竹島の侵略不法占拠を続ける韓国と
その手先に成り下がったロート製薬への怒りを表明しましょう!! ロート不買!
http://www.nicovideo.jp/watch/sm16895198
0182デフォルトの名無しさん
2012/02/17(金) 00:19:49.210183デフォルトの名無しさん
2012/02/17(金) 00:25:38.21全然関係ない別の言語。
スレ違いだけど、だいたいスレ違いだからもう気にしない。
0184デフォルトの名無しさん
2012/02/17(金) 00:29:02.61javaスクリプトってブラウザで動くアプリケーションのための言語って
いうイメージです。アプレットみたいな。
違いますか?
0185デフォルトの名無しさん
2012/02/17(金) 00:33:20.79消えろアホ
0186デフォルトの名無しさん
2012/02/17(金) 02:10:03.450187デフォルトの名無しさん
2012/02/17(金) 02:35:40.09どう決めるものでしょうか。特に事前にトータルのデータ数がわからない場合に。
最初に決めたハッシュのサイズよりデータがはるかに多いと、ハッシュ値の衝突
が増えて性能が落ちますよね? そのためにはあらかじめハッシュのサイズを大きい
値にしておかないといけないのか、あるいは途中でハッシュのサイズを伸張する
ようなことができたりするのかな、と...
0188デフォルトの名無しさん
2012/02/17(金) 02:47:05.480189デフォルトの名無しさん
2012/02/17(金) 02:49:16.84サイズは素数がいいとか色々な説があるw
0190デフォルトの名無しさん
2012/02/17(金) 02:51:11.45ハッシュ値は32bit程度でおk(32bitを超えるテーブルは使わないだろうから)
ハッシュテーブルの大きさに比べてデータが多くなったら
ハッシュテーブルを伸長して再格納するだけ
0191デフォルトの名無しさん
2012/02/17(金) 05:51:16.510192デフォルトの名無しさん
2012/02/17(金) 06:23:55.70なかなか参考書には載ってない内容で、勉強するのが難しそうです。
0193デフォルトの名無しさん
2012/02/17(金) 06:27:41.740194デフォルトの名無しさん
2012/02/17(金) 07:54:46.88なるほど。しかし再格納は効率を考えるとそれほど自明でないような気も...
やっぱテーブルが埋まってきたときに全エントリを一気にリハッシュとかしないですよね?
新規に大きいハッシュテーブルを用意する一方古い方も残しておいて、徐々に移行する
とか?
ちなみにこの手の処理で参考になるような文献とかコードとかありますかね。
0195デフォルトの名無しさん
2012/02/17(金) 07:59:12.78http://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5!
0196デフォルトの名無しさん
2012/02/17(金) 08:01:19.45リハッシュはそんなに重くない処理なので一気にやってしまう
徐々に移行させようとするほうが遅くなる
そんなに難しいことではありません。
分割コンパイル自体をお題にした書物は思いつかないのですが、たとえばこれでいろいろと周辺事情をみてみるのはどうでしょうか?
http://www.amazon.co.jp/dp/4774117544/
0198デフォルトの名無しさん
2012/02/17(金) 08:09:33.74http://en.wikipedia.org/wiki/Hash_table#Dynamic_resizing
0199デフォルトの名無しさん
2012/02/17(金) 08:13:28.55無関係杉ワロタw
さすがだな。
>>194
とりあえずこれ見てから考えたらいい。
http://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E9%96%A2%E6%95%B0
ふふふ、それが分割コンパイルを最初に習うには絶好の書籍だと考えているのです。
無関係ではありません。
0201デフォルトの名無しさん
2012/02/17(金) 08:47:50.11/;,, : : : //::/: : 7l,;:≠-::/: : / .l::|: : :l: :|;,,;!: : :!l: : :i: : : :|: : ::、 / ヽ
/ヽヽ: ://: :!:,X~::|: /;,,;,/: :/ リ!: ::/ノ l`ヽl !: : |: : : :l: :l: リ / そ そ お \
/: : ヽヾ/: : l/::l |/|||llllヾ,、 / |: :/ , -==、 l\:::|: : : :|i: | / う う 前 |
. /: : : //ヾ ; :|!: イ、||ll|||||::|| ノノ イ|||||||ヾ、 |: ::|!: : イ: ::|/ な 思 が
/: : ://: : :ヽソ::ヽl |{ i||ll"ン ´ i| l|||l"l `|: /|: : /'!/l ん う
∠: : : ~: : : : : : : :丶ゝ-―- , ー=z_ソ |/ ハメ;, :: ::|. だ ん
i|::ハ: : : : : : : : : : : 、ヘヘヘヘ 、 ヘヘヘヘヘ /: : : : : \,|. ろ な
|!l |: : : : : : : : :、: ::\ 、-―-, / : : :丶;,,;,:ミヽ う ら
丶: :ハ、lヽ: :ヽ: : ::\__ `~ " /: : ト; lヽ) ゝ
レ `| `、l`、>=ニ´ , _´ : :} ` /
,,、r"^~´"''''"t-`r、 _ -、 ´ヽノ \ノ / お ・
,;'~ _r-- 、__ ~f、_>'、_ | で 前 ・
f~ ,;" ~"t___ ミ、 ^'t | は ん ・
," ,~ ヾ~'-、__ ミ_ξ丶 | な 中 ・
;' ,イ .. ヽ_ ヾ、0ヽ丶 l /
( ;":: |: :: .. .`, ヾ 丶 ! \____/
;;;; :: 入:: :: :: l`ー-、 )l ヾ 丶
"~、ソ:: :い:: : \_ ノ , ヾ 丶
0202デフォルトの名無しさん
2012/02/17(金) 13:45:09.35鳥のインプリンティング並の脳みそしかないんだな
0203デフォルトの名無しさん
2012/02/17(金) 15:47:30.3732bitのパソコン使うってこと?
0204デフォルトの名無しさん
2012/02/17(金) 15:49:16.80256bitのハッシュ値計算しても有効に使えないだけ
0205デフォルトの名無しさん
2012/02/17(金) 15:55:57.40恥ずかしながら..
0206デフォルトの名無しさん
2012/02/17(金) 15:57:32.82わけわからん。
0207デフォルトの名無しさん
2012/02/17(金) 15:59:14.64このスレの人で高卒プログラマーいる?
0208デフォルトの名無しさん
2012/02/17(金) 16:03:54.96256bitとか32bitとか64bitとか2の倍数じゃん。
0209デフォルトの名無しさん
2012/02/17(金) 16:08:42.070210デフォルトの名無しさん
2012/02/17(金) 16:10:43.24ハッシュの意味ねーからな
0211デフォルトの名無しさん
2012/02/17(金) 16:11:48.700212デフォルトの名無しさん
2012/02/17(金) 16:12:15.27単にハッシュ値が大きくなっただけでは?
0213デフォルトの名無しさん
2012/02/17(金) 16:14:28.922048bit 以上のデータを与えるケースも想定した上で
たまたま 256バイトのデータでした
というのも十分ありえる話です。
0214デフォルトの名無しさん
2012/02/17(金) 16:20:42.980215デフォルトの名無しさん
2012/02/17(金) 16:23:58.98存在するデータの総数が2048bit?
0216デフォルトの名無しさん
2012/02/17(金) 16:29:46.24少なくともデータ件数は 2048ビット以上ないとおいしくないんじゃ…
→そんな件数想定しない →意味無い
0217デフォルトの名無しさん
2012/02/17(金) 16:30:56.000218デフォルトの名無しさん
2012/02/17(金) 16:35:19.69データを与える何ていう日本語は意味が分からない。
データがあるでしょうよ。
0219デフォルトの名無しさん
2012/02/17(金) 16:46:46.110220デフォルトの名無しさん
2012/02/17(金) 16:50:04.36抽象データ型(abstract data type)とは、データに対して行うことができる
一揃いの操作群によって、数理科学的な定義で、
あるいはプログラミング言語で記述されたデータ型のこと。
0221デフォルトの名無しさん
2012/02/17(金) 16:52:13.130222デフォルトの名無しさん
2012/02/17(金) 16:52:25.21この文章も意味不明。
【一揃いの操作郡によって】は後のどの部分にかかってるのか不明。
日本語として正しいのかも不明。
後数理科学的って何だよ。数学的じゃだめなのかよ。
俺が馬鹿なのかもしれんが。
0223デフォルトの名無しさん
2012/02/17(金) 16:53:44.03数学的なものをコンピュータで扱うのは無理ぽ
0224デフォルトの名無しさん
2012/02/17(金) 16:54:35.380225デフォルトの名無しさん
2012/02/17(金) 16:54:57.11哲学的だな。
とにかく俺は理系の適性が皆無な事が分かった。
院は行かず就職しよう。
あたらずといえども遠からず。>>197 の前身 http://www.amazon.co.jp/dp/4874085032/ で感激しました。
この手の類書はなく非常に嬉しかったことを覚えています。後にネットワークバイトオーダーではまったりもしましたが。
K&R2 逆ポーランド電卓は昔も今もよくわかってません。
0227デフォルトの名無しさん
2012/02/17(金) 20:25:20.780228デフォルトの名無しさん
2012/02/17(金) 20:45:39.220229デフォルトの名無しさん
2012/02/17(金) 20:48:37.670230デフォルトの名無しさん
2012/02/17(金) 21:03:00.39ただしこいつは大幅に度が過ぎてる
0231デフォルトの名無しさん
2012/02/17(金) 21:15:40.47改竄なんかしません忘れるだけです
0232デフォルトの名無しさん
2012/02/17(金) 21:24:31.170233デフォルトの名無しさん
2012/02/17(金) 21:58:35.680234デフォルトの名無しさん
2012/02/17(金) 22:33:02.610235デフォルトの名無しさん
2012/02/17(金) 22:50:45.02理解が深いよね。
羨ましい。
俺何てプロバイダとサーバの違いがいまだに分からないんだから調べても。
0236デフォルトの名無しさん
2012/02/17(金) 23:01:02.220237デフォルトの名無しさん
2012/02/17(金) 23:24:17.550238デフォルトの名無しさん
2012/02/18(土) 01:59:13.41全然欲しくなかったがw
0240デフォルトの名無しさん
2012/02/18(土) 02:37:14.840241デフォルトの名無しさん
2012/02/18(土) 02:40:28.57欲しけりゃ買えよ。
0242デフォルトの名無しさん
2012/02/18(土) 02:43:38.580243デフォルトの名無しさん
2012/02/18(土) 02:50:10.780244デフォルトの名無しさん
2012/02/18(土) 08:44:28.70情弱乙
0245デフォルトの名無しさん
2012/02/18(土) 10:02:09.47while((c = fgetc(file)) != EOF){
if(strcmp(c, ',')==0)printf('a');
printf("%c\n",c);
}
0246デフォルトの名無しさん
2012/02/18(土) 10:04:18.900247デフォルトの名無しさん
2012/02/18(土) 10:13:19.11エラーメッセージくらい貼れよクズ
0248デフォルトの名無しさん
2012/02/18(土) 10:39:14.58引っ込んでろよ。>>246-247
strcmpは文字列の比較。char *を渡さなきゃならない。この場合は==で調べりゃいい。
if(c == ',')printf('a');
あと、先回りして回答しとくと
char c;
じゃなく
int c;にすること。
0249デフォルトの名無しさん
2012/02/18(土) 10:42:19.19頭悪すぎる
0250デフォルトの名無しさん
2012/02/18(土) 10:47:34.69if(strcmp(c, ",")==0)printf("a");
printf("%c\n",c);
}
0251デフォルトの名無しさん
2012/02/18(土) 11:27:45.25のほうが俺カッコイーwwってなる
0252デフォルトの名無しさん
2012/02/18(土) 11:35:39.06うまく解決できませんでした
IF文のとこでこんなエラーがでます
assignment makes pointer from integer without a cast
0253デフォルトの名無しさん
2012/02/18(土) 11:39:51.65マンコまんど読みなさい
0254デフォルトの名無しさん
2012/02/18(土) 11:50:26.53#include <stdio.h>
int main(void)
{
int c;
FILE *file;
file = fopen("useeq.c", "r");
while( ( c = fgetc(file) ) != EOF ) {
if(c == ',') {
printf("a");
}
printf("%c", c);
}
fclose(file);
return 0;
}
0255デフォルトの名無しさん
2012/02/18(土) 12:19:28.35a == b → strcmp(a, b) == 0
a >= b → strcmp(a, b) >= 0
a <= b → strcmp(a, b) <= 0
↑みたいに覚えてるから!より==0が好きだわ。
0256デフォルトの名無しさん
2012/02/18(土) 12:25:49.73これだけは絶対にヤダ。こういう書き方する奴殺したくなる。
0257デフォルトの名無しさん
2012/02/18(土) 12:26:50.15いてて
0258デフォルトの名無しさん
2012/02/18(土) 12:32:49.070259デフォルトの名無しさん
2012/02/18(土) 13:27:57.88char *tags[TLast] = {
[Tscratch] = "scratch",
[Tdev] = "dev",
[Twww] = "www",
[Twork] = "work",
};
これって、純粋なcの配列の定義のしかたですか?
それとも,gnuの拡張とかでしょうか?
0260デフォルトの名無しさん
2012/02/18(土) 13:30:56.82太古の昔、== と = の書き間違いをコンパイラに指摘させるために、
そんな風に書く流派があったのじゃ。ふぇふぇふえ。
0261デフォルトの名無しさん
2012/02/18(土) 13:34:36.11jedのコードは全部そんなだったな
左辺値が即値だから代入できないし、むしろ推奨されるべき記法だろ
a == 0
は廃れて良い。
0 == a
の方が、はるかにマシ
0262デフォルトの名無しさん
2012/02/18(土) 13:37:02.52C99 での書式
0263デフォルトの名無しさん
2012/02/18(土) 13:39:54.33コンパイラが警告を出すからそんな変な記法は不要。
-Werrorでおk。
0264デフォルトの名無しさん
2012/02/18(土) 13:40:31.590265デフォルトの名無しさん
2012/02/18(土) 13:43:32.07C99を知らない初心者。のこのこ出てきて恥晒すことないのに。
それとも露出プレー中か? ww
0266デフォルトの名無しさん
2012/02/18(土) 13:44:33.480267デフォルトの名無しさん
2012/02/18(土) 13:44:56.54アンカー間違えてごめんね。でもそれを知ってて殺したいといっているんだ。
0268デフォルトの名無しさん
2012/02/18(土) 13:48:25.03俺も好きではないし、もう廃れたと思ってるよ。
0269デフォルトの名無しさん
2012/02/18(土) 13:48:51.79「a == 0」は「a equal to zero(a はゼロと等しい)」…つまり、aを他の何かと比較するという意図が明瞭だが
「0 == a」は「zero equal to a(ゼロは a と等しい)」…つまり、ゼロを他の何かと比較するという意図にとれる
「定数を他と比較」したい、ということを意図しているならいいが、基本的には意味的に変にならないかな
0270デフォルトの名無しさん
2012/02/18(土) 13:49:16.27キミは死ね。
>>263
だよね。
0271デフォルトの名無しさん
2012/02/18(土) 13:49:32.86なんだこいつw
0272デフォルトの名無しさん
2012/02/18(土) 13:50:03.22自分はprintfで文字を画面に表示させるくらいの事しかできない初心者です^^
0273デフォルトの名無しさん
2012/02/18(土) 13:51:31.07羞恥プレー中です。
0274デフォルトの名無しさん
2012/02/18(土) 13:57:49.380275デフォルトの名無しさん
2012/02/18(土) 13:58:29.69とりあえずUNIXかな。
もともとはUNIXを移植するためにアセンブラを書きたくない、って用途で
書かれたものだから。
0276デフォルトの名無しさん
2012/02/18(土) 14:02:21.89c99の中の人、乙です。ポータビリティ考えて、大概はc89に合わせるだろ
冗談抜きで、c99の規格って、どこの業界で使われるもんなの?
0277デフォルトの名無しさん
2012/02/18(土) 14:09:22.13速度が必要なもの全部。ブラウザ、エディタ、gnuplot、octave,...
ベンダや言語設計者の意志に左右されては困るもの全部。
0278デフォルトの名無しさん
2012/02/18(土) 14:10:09.27他には見ないな。
でも>>265はc99知らないだろw
0279デフォルトの名無しさん
2012/02/18(土) 14:15:53.25LinuxカーネルでもFreeBSDカーネルでもバリバリに使ってる。
0280デフォルトの名無しさん
2012/02/18(土) 14:18:40.52はぁ?c99で拡張された部分だぞ。本当にあるならコード張れ
0281デフォルトの名無しさん
2012/02/18(土) 14:24:53.27たとえば↓の308行目〜
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/kern/kern_conf.c?annotate=1.254
0282デフォルトの名無しさん
2012/02/18(土) 14:28:13.74>>277
ありがとうございます
0283デフォルトの名無しさん
2012/02/18(土) 14:29:15.68たとえば↓の225行目〜
http://lxr.linux.no/#linux+v3.2.6/kernel/sysctl.c
ところで、なんで使われてないと思ったの?
0284デフォルトの名無しさん
2012/02/18(土) 14:32:03.57配列とか構造体の初期化の書き方は便利だな。<初めて知ったw
0285デフォルトの名無しさん
2012/02/18(土) 14:46:48.04Σ(゚∀゚ノ)ノキャー
FreeBSDもlinuxも、c99の規格以前からあるだろうから
拡張された機能のあるコードを、それまで以前のものと混ぜたがらないと思いますた...。
他にも、コンパイラがc99の機能をサポートしていないだとか、その他、諸々の事情で
使われることはないだろうと思ってますた。吊ってきまふ
0286デフォルトの名無しさん
2012/02/18(土) 15:28:25.44性能はコンパイラの性能次第。
0287デフォルトの名無しさん
2012/02/18(土) 15:31:05.82C/C++ソースのOSと大差ない性能出せる可能性はある。
チューニングに手間は掛かるが。
要するに言語と性能は直結してない。
0288デフォルトの名無しさん
2012/02/18(土) 15:38:00.07perlがバイナリ扱えないとか。
お前、ちょっと恥ずかしすぎるからレスしない方がいいよ。
0289デフォルトの名無しさん
2012/02/18(土) 15:53:47.72perlじゃどうがんばってもCなみは無理。
0290デフォルトの名無しさん
2012/02/18(土) 15:56:20.28FreeBSDもLinuxもgcc前提だからねー
FreeBSDはgccから離脱する準備を着々と進めてるようだけど
0291デフォルトの名無しさん
2012/02/18(土) 15:57:19.180か1(バイト列)を出力可能言語だったら、C言語ソースをコンパイルしたものと
同じ速度まではいける。
0292デフォルトの名無しさん
2012/02/18(土) 16:07:26.06データとか基本テキストでもってて、実行時にコンテキストで判断して数値に変換したりしてるんだろ?
perlの言語使用じゃCなみは無理だろ。
0293デフォルトの名無しさん
2012/02/18(土) 16:14:42.25ネイティブ実行形式を出力するんだよ。
簡単にするには、必要最小限のアセンブラコンパイラをスクリプト言語で実装すればいい。
C/C++ ⇒ アセンブラの変換は既存のコンパイラでやったとして、実質的にはスクリプト言語で生成したファイルとなる。
0294デフォルトの名無しさん
2012/02/18(土) 16:18:20.88しかもCで書くのと同等の効率にするためにどんな頭のいいコンパイラを書けというのか
0295デフォルトの名無しさん
2012/02/18(土) 16:20:54.700296デフォルトの名無しさん
2012/02/18(土) 16:23:38.24アセンブリ言語 - Wikipedia
CPUが直接実行できる言語は機械語のみであるが、
機械語は数字(内部的には二進数)の羅列なので人間には理解しにくい。
そこで、機械語を直接記述するのではなく、ニーモニックと呼ばれる命令語でプログラムを記述することで、
人間により分かりやすくしたものがアセンブリ言語である。
0297デフォルトの名無しさん
2012/02/18(土) 16:24:58.24お前の頭は飾りかよ
0298デフォルトの名無しさん
2012/02/18(土) 16:26:28.05既製品のC++コンパイラの速度に追いつくことは原理的には可能。
0299デフォルトの名無しさん
2012/02/18(土) 16:26:54.58現実的な解に到達するまでのコストを無視する原理主義者ですねお気持ちよくわかります
0300デフォルトの名無しさん
2012/02/18(土) 16:27:31.67話がすりかわってるぞ
0301デフォルトの名無しさん
2012/02/18(土) 16:28:50.03ネイティブコードにしてもあんまり速くならないと思う。
逆にperl的な書き方を避けて書けばC並の速度は出せると思うけど、
perlで書く意味はなくなってしまう。
0302デフォルトの名無しさん
2012/02/18(土) 16:29:53.02コンパイラのチューニングで速度が決まると言いたい。
激遅のスクリプト言語でコンパイラを実装したとしても、チューニング次第では既製品を超える速度を出すことは可能。
0303デフォルトの名無しさん
2012/02/18(土) 16:33:14.770304デフォルトの名無しさん
2012/02/18(土) 16:34:36.81むり。
実行時にいろいろ処理の必要な言語仕様は、コンパイルしてもCなみにはならない。
言語仕様によらずコンパイルさえすればどの言語でもCなみになるってことなら、
JITの処理系のある言語は、起動時だけ遅くてあとはCなみに動かないといけないけど
JITコンパイラが研究されまくってるJavaでさえCなみにはなってない。
0305デフォルトの名無しさん
2012/02/18(土) 16:36:23.98「猿でもわかるコンパイラの作り方」みたいな本でも買って、動的型の言語がどう
動くか想像してみろよ。
0306デフォルトの名無しさん
2012/02/18(土) 16:37:39.47チューリング完全 - Wikipedia
計算理論で、ある計算のメカニズムがチューリング機械と同じ計算能力をもつとき、その言語はチューリング完全であるという。
ラムダ計算はチューリング完全である。
これは、Yコンビネータによりラムダ計算の範囲内で再帰ができ、これがループと等価な能力をもつことから証明できる。
そのほか、μ再帰関数やマルコフアルゴリズムもチューリング完全である。
多くのプログラミング言語はチューリング完全である。
一見単純な機能しか持たない言語がチューリング完全である。
例としては、純LISP、Lazy K、Brainfuckなどがある。
正規表現はチューリング完全でない(チョムスキー階層も参照)。
SQLや、ループの書けない表計算マクロなども、チューリング完全でない。
0307デフォルトの名無しさん
2012/02/18(土) 16:39:31.170308デフォルトの名無しさん
2012/02/18(土) 16:41:46.59Windows実行ファイル「EXE」の謎に迫る
皆さんは、アプリケーションを起動させるEXEファイルの中身について考えてみたことはありますか?
本稿では、EXEファイルの内部構造について解説していきます。特にEXEファイルに関する日本語の資料が少ないのが現状です。
そのため、解析に手を出してみたいと思っても挫折してしまった方も少なくないのではないでしょうか。
本稿は、筆者自身の経験を踏まえ、実際にEXEファイルの解析ができるようになるための資料となるよう解説していきます。
http://codezine.jp/article/detail/412
0309デフォルトの名無しさん
2012/02/18(土) 16:43:23.96遅さとコンパイラの性能は別だ。
動作の速いコンパイラが、速い実行ファイルを生成するとは限らない。
0310デフォルトの名無しさん
2012/02/18(土) 16:44:18.09その事は>>303にもう書いた。
0311デフォルトの名無しさん
2012/02/18(土) 16:45:48.79Cと同等のデータ構造扱えるようになれば可能かもしれないね。
でもそれは既にperlじゃなくなる。ハッシュ使わずにperlプログラミングしろとか。
ハッシュを使ってる限り、Cで最適なデータ構造で記述されたプログラムには追いつけない。
0312デフォルトの名無しさん
2012/02/18(土) 16:46:27.63スクリプト言語で書かれたプログラムをコンパイルする話をしてるのか、
どっちなのよ。
0313デフォルトの名無しさん
2012/02/18(土) 16:47:20.100314デフォルトの名無しさん
2012/02/18(土) 16:48:18.050315デフォルトの名無しさん
2012/02/18(土) 16:49:43.38それなら、>>301とか>>311あたりが結論なのでは。
0316デフォルトの名無しさん
2012/02/18(土) 16:51:29.09すると、アセンブラの設計に行き着く。
0317デフォルトの名無しさん
2012/02/18(土) 16:53:59.93sub foo {
my ($s) = @_;
return eval $s;
}
0318デフォルトの名無しさん
2012/02/18(土) 16:54:36.32そのスクリプト言語の言語仕様によるけど、大概のLL系のやつは無理だな。
0319デフォルトの名無しさん
2012/02/18(土) 16:56:16.01eval使わなくても、その$sの中に何が入ってるか分からないって時点で
Cみたいな最適化無理だわな。
0320デフォルトの名無しさん
2012/02/18(土) 16:59:30.77perlソースと同等のことを実現するCソースを作ることは原理的に可能。
1 perlソースと同じくらい遅いCで書かれたプログラム
2 perlでは扱うことができないデータ構造を利用してCで書かれたプログラム
1も2も作成可能だが、perlソースから自動変換できるのは1だけ。当然2の方が早い。
0321デフォルトの名無しさん
2012/02/18(土) 17:02:30.350322デフォルトの名無しさん
2012/02/18(土) 17:04:01.44必要あればperlでその拡張perl言語を作る。
0323デフォルトの名無しさん
2012/02/18(土) 17:07:09.82手間を無視すれば。
0324デフォルトの名無しさん
2012/02/18(土) 17:23:59.77ほとんどのスクリプト言語でって、Rubyでどう手間をかけてもC並になるとは思えないけど。
0325デフォルトの名無しさん
2012/02/18(土) 17:27:51.03簡単にC言語並の速度を達成できることが確認できる。
0326デフォルトの名無しさん
2012/02/18(土) 17:49:23.69ワロタw
実行ファイルの中身をソースに書いて出力するだけw
そりゃほとんどの言語でできるわなw
0327デフォルトの名無しさん
2012/02/18(土) 17:51:23.670328デフォルトの名無しさん
2012/02/18(土) 17:59:05.51どんな言語でも実行ファイルを自分で出力するプログラムを書けば
どんな実行ファイルも作れると言いたいのか
それって実行環境ごとにプログラム変えなきゃいけないし
高級言語で書く意味ないだろ
0329デフォルトの名無しさん
2012/02/18(土) 18:10:57.24実行ファイルのバイナリをソースに貼るとか、インラインアセンブラの機能をつければスクリプト言語でもC並ってのは。
0330デフォルトの名無しさん
2012/02/18(土) 18:11:30.59っ「中間コード」
0331デフォルトの名無しさん
2012/02/18(土) 18:13:48.330332デフォルトの名無しさん
2012/02/18(土) 18:14:55.510333デフォルトの名無しさん
2012/02/18(土) 19:51:34.48プログラマーの皆からしてみればこのアイディアについてどう思う?
0334デフォルトの名無しさん
2012/02/18(土) 19:53:32.560335デフォルトの名無しさん
2012/02/18(土) 19:53:56.96よし、がんばれ?
0336デフォルトの名無しさん
2012/02/18(土) 20:21:23.990337デフォルトの名無しさん
2012/02/18(土) 20:24:27.430338デフォルトの名無しさん
2012/02/18(土) 20:26:16.230339デフォルトの名無しさん
2012/02/18(土) 20:26:41.610340デフォルトの名無しさん
2012/02/18(土) 20:39:54.090341デフォルトの名無しさん
2012/02/18(土) 20:53:01.730342デフォルトの名無しさん
2012/02/18(土) 21:04:48.510343デフォルトの名無しさん
2012/02/18(土) 22:25:25.51はい次
0344デフォルトの名無しさん
2012/02/18(土) 22:27:59.790345デフォルトの名無しさん
2012/02/18(土) 22:36:42.530346デフォルトの名無しさん
2012/02/18(土) 23:06:09.37コマンドシェルからでもバイナリ実行ファイルなんて作れるだろ。
0347デフォルトの名無しさん
2012/02/18(土) 23:37:11.710 == aで良いんだが、見難い。
慣れの問題だと思うが。。
0348デフォルトの名無しさん
2012/02/18(土) 23:45:23.19#define EQ(a,b) ((a) == (b))
のほうがはるかにまし。
0349デフォルトの名無しさん
2012/02/18(土) 23:47:05.15わざわざ奇をてらってるような書き方するのってテクニックに走りすぎてるって言うか。
コードは素直に書くのが一番だな。
0350デフォルトの名無しさん
2012/02/19(日) 00:06:44.760351デフォルトの名無しさん
2012/02/19(日) 00:24:11.17警告レベルを高くしても出てこなかった時代の工夫じゃないのか?
0352デフォルトの名無しさん
2012/02/19(日) 00:29:34.80>>261みたいに、今でもしたほうたいいって思ってる人が話を振るから定期的にこの話がでてくる。
0353デフォルトの名無しさん
2012/02/19(日) 01:20:02.06char hoge = 0xF0;
printf("%X", hoge);
とすると"FFFFFFF0"と出力されてしまいます。
printf("%X", (char)hoge);
としてもだめでした。
"F0"という出力を期待してるのですが,%Xの指定ではまずいのでしょうか?
0354デフォルトの名無しさん
2012/02/19(日) 01:33:37.000355デフォルトの名無しさん
2012/02/19(日) 01:36:37.69unsigned char
0356デフォルトの名無しさん
2012/02/19(日) 01:37:08.960357デフォルトの名無しさん
2012/02/19(日) 01:45:43.380358デフォルトの名無しさん
2012/02/19(日) 01:52:39.670359デフォルトの名無しさん
2012/02/19(日) 01:53:46.15"%hhX" → "FFF0"
("%X", (unsigned char)hoge) → "F0"
unsigned charにキャストしてうまくいきました。
どうもありがとうございました!
0360デフォルトの名無しさん
2012/02/19(日) 02:42:03.690361デフォルトの名無しさん
2012/02/19(日) 02:46:53.70こういう公の場でホゲとか言って恥ずかしくないのかな
神経疑うわ
0362デフォルトの名無しさん
2012/02/19(日) 02:54:00.710363デフォルトの名無しさん
2012/02/19(日) 04:06:39.430364デフォルトの名無しさん
2012/02/19(日) 04:50:09.87お前の基準では何を使うべきなんだ?
0365デフォルトの名無しさん
2012/02/19(日) 04:51:51.52hogeとか間抜けすぎるな。
0366デフォルトの名無しさん
2012/02/19(日) 05:41:49.280367デフォルトの名無しさん
2012/02/19(日) 05:45:53.770368デフォルトの名無しさん
2012/02/19(日) 05:46:19.29/;,, : : : //::/: : 7l,;:≠-::/: : / .l::|: : :l: :|;,,;!: : :!l: : :i: : : :|: : ::、 / ヽ
/ヽヽ: ://: :!:,X~::|: /;,,;,/: :/ リ!: ::/ノ l`ヽl !: : |: : : :l: :l: リ / そ そ お \
/: : ヽヾ/: : l/::l |/|||llllヾ,、 / |: :/ , -==、 l\:::|: : : :|i: | / う う 前 |
. /: : : //ヾ ; :|!: イ、||ll|||||::|| ノノ イ|||||||ヾ、 |: ::|!: : イ: ::|/ な 思 が
/: : ://: : :ヽソ::ヽl |{ i||ll"ン ´ i| l|||l"l `|: /|: : /'!/l ん う
∠: : : ~: : : : : : : :丶ゝ-―- , ー=z_ソ |/ ハメ;, :: ::|. だ ん
i|::ハ: : : : : : : : : : : 、ヘヘヘヘ 、 ヘヘヘヘヘ /: : : : : \,|. ろ な
|!l |: : : : : : : : :、: ::\ 、-―-, / : : :丶;,,;,:ミヽ う ら
丶: :ハ、lヽ: :ヽ: : ::\__ `~ " /: : ト; lヽ) ゝ
レ `| `、l`、>=ニ´ , _´ : :} ` /
,,、r"^~´"''''"t-`r、 _ -、 ´ヽノ \ノ / お ・
,;'~ _r-- 、__ ~f、_>'、_ | で 前 ・
f~ ,;" ~"t___ ミ、 ^'t | は ん ・
," ,~ ヾ~'-、__ ミ_ξ丶 | な 中 ・
;' ,イ .. ヽ_ ヾ、0ヽ丶 l /
( ;":: |: :: .. .`, ヾ 丶 ! \____/
;;;; :: 入:: :: :: l`ー-、 )l ヾ 丶
"~、ソ:: :い:: : \_ ノ , ヾ 丶
0369デフォルトの名無しさん
2012/02/19(日) 05:52:39.640370デフォルトの名無しさん
2012/02/19(日) 05:54:51.02integral promotion(暗黙の型変換)により signed char 型→signed int 型に変換されたためそのような表示になりました。
char hoge = 0xf0;
char fuga = hoge & 0xff
printf("%X", fuga);
あるいは
unsigned char hoge = 0xF0;
でどうでしょうか。
0372デフォルトの名無しさん
2012/02/19(日) 06:37:18.89無意味乙。
ほんと、お前何も理解してないんだからレスやめとけ。
0373デフォルトの名無しさん
2012/02/19(日) 06:47:25.850374デフォルトの名無しさん
2012/02/19(日) 06:51:28.240376デフォルトの名無しさん
2012/02/19(日) 07:28:58.41int main(){
int a,b,tmp[3],i,j;
for(i=0;i<3;i++){
tmp[i]=0;
a = 0;
b = 0;
scanf_s("%d",&a,&b);
tmp[i] = a+b;
}
for(i=0;i<3;i++){
for(j=0;tmp!=0;j++)
tmp[j]/=10;
printf("%d\n",j);
}
return 0;
}
これでキーボード入力で
5 7
1 99
1000 999 と入力しようとすると3行目で強制終了しちゃうんですけどどこが間違ってるんですかね?
0378デフォルトの名無しさん
2012/02/19(日) 07:29:55.500379デフォルトの名無しさん
2012/02/19(日) 07:31:02.38>scanf_s("%d",&a,&b);
0380デフォルトの名無しさん
2012/02/19(日) 07:33:08.730381デフォルトの名無しさん
2012/02/19(日) 07:37:37.060382デフォルトの名無しさん
2012/02/19(日) 07:42:43.51>for(j=0;tmp!=0;j++)
>tmp[j]/=10;
ループの終了条件がおかしくてjが配列の範囲外までいくから
0383デフォルトの名無しさん
2012/02/19(日) 07:44:00.09さて、いくつ間違いがあるでしょう的な。
0384デフォルトの名無しさん
2012/02/19(日) 07:44:52.040386デフォルトの名無しさん
2012/02/19(日) 07:47:48.090387デフォルトの名無しさん
2012/02/19(日) 07:57:09.52いえいえ
integer promotion の JIS の訳には批判的なものでね
0389デフォルトの名無しさん
2012/02/19(日) 08:04:46.78a+bの桁数を求めたいのか?
0390デフォルトの名無しさん
2012/02/19(日) 08:05:52.110391デフォルトの名無しさん
2012/02/19(日) 09:11:44.07初心者は初心者でも馬鹿は排除する方向で
0392デフォルトの名無しさん
2012/02/19(日) 09:13:40.98答えるほうが馬鹿だと荒れる
0393デフォルトの名無しさん
2012/02/19(日) 09:25:14.26integral promotionの日本語訳としてはふさわしくないかもしれないねえ。
integer promotionの日本語訳として整数拡張は適切だ。
お前、自分が今まで間違えてた事を、必死になって検索して今日初めて気づいただろ。
本当にうんこだな。
integral には「積分の」という意味もあるが「整数の」という意味もありますね。
0395デフォルトの名無しさん
2012/02/19(日) 10:20:24.89だから、「暗黙の型変換」なんてうんこ用語まき散らしたんだろ。w
昔は integral promotion っていってたんですよ。今でも MSDN ではそうみたいですね。http://msdn.microsoft.com/ja-jp/library/fc9te331.aspx
C99 では integer promotion に軟化しただけで。
で、ここから先はセンスの問題ですが、integer は名詞、integral は形容詞なんですね。
規格にて promotion という名詞を修飾するのにどちらを使うのが「格式的」・「厳密的」なのかを考えて見ましょう。
0397デフォルトの名無しさん
2012/02/19(日) 10:33:26.060398デフォルトの名無しさん
2012/02/19(日) 10:37:11.58しかも鳥付だから、あれは自分じゃないという言い訳できない。www
0399デフォルトの名無しさん
2012/02/19(日) 10:46:02.13知らない人が混乱する
JISでは「汎整数拡張」とか「整数拡張」と訳されている
それを知ったうえで、ここで議論してる説明をどう理解するかはご自由に
0400デフォルトの名無しさん
2012/02/19(日) 10:47:30.38突っ込みどころを変えてきましたね。integer/integral についてはご納得いただけたようでなによりです。
「暗黙の型変換」について問題にしてるんですか?昔のボーランドのマニュアルにはそう書いてあったんですよ。
さすがにこれは「必死に検索」してもでてこないでしょうねえ。
type promotion は type conversion の一種と考えれば、「変換」と訳するのはあたらずといえども遠からずでしょう。まずい、というほどのことでもないと思いますが?
0403デフォルトの名無しさん
2012/02/19(日) 10:56:18.42それを勘違いしてるのはお前。
0404デフォルトの名無しさん
2012/02/19(日) 10:56:57.07で、「整数拡張」は「暗黙の型変換」のうちの一つ
過去のマニュアルがどうかなんて知らんが、さすがに同じ訳語を使うのはどうかと思う
0405デフォルトの名無しさん
2012/02/19(日) 10:59:36.19> 突っ込みどころを変えてきましたね。integer/integral についてはご納得いただけたようでなによりです。
「integer promotion」を「暗黙の型変換」と訳したうんこ思考が理解できなかったからな。
てっきり、integerとintegralの取り違えだと思ったが、真相はもっと簡単だった。
まさかpromotionを使った意味を理解していなかったとは、想像の斜め上を行っていたよ。
promotionという単語を使ってる意味を理解してれば変換などと訳さない。
ボーランドのマニュアルはどこかの翻訳会社のうんこ訳。それを根拠にするとはまさにうんこ。
↓↓↓↓↓↓↓↓↓↓これが真相www
> type promotion は type conversion の一種と考えれば、「変換」と訳するのはあたらずといえども遠からずでしょう。まずい、というほどのことでもないと思いますが?
>さすがに同じ訳語を使うのはどうかと思う
そうですね。確かにimplicit conversion と integer promotion を完全同一視していたようです。ご指摘ありがとうございました。
0407デフォルトの名無しさん
2012/02/19(日) 11:02:02.14そんなオチだったの?
かんべんしてくれよ。
0408デフォルトの名無しさん
2012/02/19(日) 11:10:07.66>>228
>てっきり、integerとintegralの取り違えだと思ったが、
どっちもこの場合は同じ意味の単語ですけど、どうやっったら取り違えたことになるのですか?
あと昔は integral promotion って言ってたのは前に述べたとおり。
そっちが無知なのでは?
0410デフォルトの名無しさん
2012/02/19(日) 11:24:12.04これを見た瞬間、笑いをこらえるのに必死だったぜ。
そこで導いた結論が、integralの意味が分からずにそこで思考がストップして知ってる単語で説明したのだろうと。
うんこの思考を理解しろというのが無理。www
なぜ、promotionなのか理解はできたのかな?
0411デフォルトの名無しさん
2012/02/19(日) 11:26:09.350412デフォルトの名無しさん
2012/02/19(日) 11:27:52.810413デフォルトの名無しさん
2012/02/19(日) 11:32:57.63なぜ、promotionなのか理解はできたのかな?
0414デフォルトの名無しさん
2012/02/19(日) 11:45:50.28つまらんからまた別のネタが出るまでもういいって。
0415デフォルトの名無しさん
2012/02/19(日) 12:07:15.98お前の頭は何十年前で止まってるんだって感じだな。
0416デフォルトの名無しさん
2012/02/19(日) 12:17:10.31くだらん
0417デフォルトの名無しさん
2012/02/19(日) 12:25:30.860418デフォルトの名無しさん
2012/02/19(日) 12:26:15.020419デフォルトの名無しさん
2012/02/19(日) 12:32:57.72http://toro.2ch.net/test/read.cgi/tech/1288289096/
0421デフォルトの名無しさん
2012/02/19(日) 12:38:45.990422デフォルトの名無しさん
2012/02/19(日) 12:41:52.67バカはお前。
0423デフォルトの名無しさん
2012/02/19(日) 12:45:51.48Turbo Cにはお世話になりました。
0424デフォルトの名無しさん
2012/02/19(日) 13:02:39.78なぜ、promotionなのか理解はできたのかな?
0425デフォルトの名無しさん
2012/02/19(日) 13:32:31.480426デフォルトの名無しさん
2012/02/19(日) 13:32:41.88integral promotion と integer promotion の違いは理解できたのかな?
0427デフォルトの名無しさん
2012/02/19(日) 13:45:17.35integral promotion: うんこが「暗黙の型変換」と訳した。
integer promotion: これのJIS訳(整数拡張)が、うんこにふさわしくない(批判的なものでね)と貶された。
0428デフォルトの名無しさん
2012/02/19(日) 13:50:28.99基地外の相手は次のネタまで待て。
0429デフォルトの名無しさん
2012/02/19(日) 13:58:17.790430デフォルトの名無しさん
2012/02/19(日) 14:00:18.40その場合 static は関数を修飾して、関数がファイルスコープになる
0431デフォルトの名無しさん
2012/02/19(日) 14:05:57.95ありがとうございます。
0432デフォルトの名無しさん
2012/02/19(日) 14:09:17.33typedef extern public;
>>432
>typedef extern public;
extern なんていらない子。
#define extern
で必要十分。
0434デフォルトの名無しさん
2012/02/19(日) 14:19:37.370435デフォルトの名無しさん
2012/02/19(日) 14:21:04.190436デフォルトの名無しさん
2012/02/19(日) 14:21:53.450437デフォルトの名無しさん
2012/02/19(日) 14:23:09.14void f(int x)
{
return ~x;
}
0438デフォルトの名無しさん
2012/02/19(日) 14:23:26.08int だ
0440デフォルトの名無しさん
2012/02/19(日) 14:24:30.85{
return x^1;
}
0441デフォルトの名無しさん
2012/02/19(日) 14:26:22.76それコンパイルできる?
static, externだけでは型宣言として完結しないから、エラーになると思うが。
>>433
QZだから突っ込むわけじゃないですが、予約語を置換していいことは無いでしょ。
変数宣言に対してのexternも置き換えられるので、そのマクロ定義はまずい。
関数に対する、externがいらない子というのは同意。
既存のソースに使われていたから、スタイルを合わせた時以外に使ったことないわ。
0442デフォルトの名無しさん
2012/02/19(日) 14:29:54.47相変わらず間抜けだな。
f(a) = f(b) = a = b = 1;
>関数に対する、externがいらない子
変数に対する exern もいらない子
それでエラーがでるのは外部変数を初期化している場合であるが、この初期化はコードとして記述すればよい。
?
a != b が前提なんでしょ?
0445デフォルトの名無しさん
2012/02/19(日) 14:34:29.930446デフォルトの名無しさん
2012/02/19(日) 14:35:49.69>変数に対する exern もいらない子
グローバル変数宣言には必要じゃないですか。
externがついていないとリンクエラーになりますよね。
0447デフォルトの名無しさん
2012/02/19(日) 14:45:00.69int f(int b){return ++b%Z;}
0448デフォルトの名無しさん
2012/02/19(日) 14:54:31.92ダメじゃん
0449436
2012/02/19(日) 15:08:08.94いいえ
int f(int a){return a;} でないことがz
○ただし、常にa=bでないこと。
×ただし常に、a=bでないこと。
なりません。extern をはずしてそのままOK。
ただし、宣言時の初期化はあきらめなければなりません。
0451デフォルトの名無しさん
2012/02/19(日) 15:30:50.77バカ?
0452デフォルトの名無しさん
2012/02/19(日) 15:31:35.02変数の場合どれが定義でどれが宣言なのか一目でわかるためにexternをつけておくのが普通だ
コンパイルが通るからいいとか言語仕様で省略できるからいいとかは自分一人の場合のみにしておくべき
個人的には自分一人でもそんなことしないけどね
0453デフォルトの名無しさん
2012/02/19(日) 15:36:09.59うん、だからもうほっとけばいいんじゃない
extern不要論でスレ埋まってうざいわもう
QZがしつこいのはみんなわかってるだろ、餌を与えないで欲しい
0454デフォルトの名無しさん
2012/02/19(日) 15:39:25.08いくらでも反対意見が出てくるくらい常識とは違う感覚の持ち主なんだよ
まっ、これはリンカに依存する、という結論でしたっけ。
たしかにこのネタ、もう使い古しですかね。
0456デフォルトの名無しさん
2012/02/19(日) 15:46:02.390457デフォルトの名無しさん
2012/02/19(日) 16:22:20.340458デフォルトの名無しさん
2012/02/19(日) 17:51:26.360459デフォルトの名無しさん
2012/02/19(日) 18:06:04.07無駄なことしたな。と思うばかりだからもうNGを一時的に解除したりしない。
いいなーQZ
0460デフォルトの名無しさん
2012/02/19(日) 18:46:42.34亀だけど。
>>349はその記法が「奇をてらってる」し「テクニックに走りすぎてる」といっているので、
そうしないと警告なんかでは防げないころがあったし、そのころにとっては、
奇をてらった書き方ではなく、まさしくミスを防ぐための工夫だったんだよと伝えたかった。
lintが活躍した時代でもある。
先人の工夫を今必要が無いからといって、無駄な知識というならまだしも、奇をてらったという言いまわしは乱暴すぎないか?
0461デフォルトの名無しさん
2012/02/19(日) 18:57:11.20その頃でも奇をてらった書き方だったよ。
工夫は認めるけど、ミスを検出できるメリットと見辛いと言うデメリットを比較して、
採用しないと言う奴の方が多かった。
0462デフォルトの名無しさん
2012/02/19(日) 19:21:37.770463デフォルトの名無しさん
2012/02/19(日) 20:35:54.500464デフォルトの名無しさん
2012/02/19(日) 21:40:38.00何故、解説書などには*argsって書かれているのでしょうか?
argvというのもありますが、何が違うのでしょうか?
0465デフォルトの名無しさん
2012/02/19(日) 22:21:27.010466デフォルトの名無しさん
2012/02/19(日) 22:30:51.50なぜ、promotionなのか理解はできたのかな?
0467デフォルトの名無しさん
2012/02/19(日) 22:49:26.440468デフォルトの名無しさん
2012/02/19(日) 23:28:16.110469デフォルトの名無しさん
2012/02/19(日) 23:33:26.75ミスを検出できるというメリット
見づらいというデメリット
のどちらをとるか、となれば当然「ミスを検出できるというメリット」をとるのが普通なのでは?
if (a = 1) { } は、先入観にとらわれた頭では、なかなかみつけにくい
お前さん、バグ鳥の苦労が足りないとみえるね
0470デフォルトの名無しさん
2012/02/19(日) 23:35:37.01アホか
0471デフォルトの名無しさん
2012/02/19(日) 23:40:25.94多数派ではなかったし、その後すっかり廃れたというのもまた事実。
0472デフォルトの名無しさん
2012/02/19(日) 23:43:38.12コードで書くと
int ABC;
int Function1(){
int rrr = ABC + 10;
return(rrr);
}
↑こうではなく↓のような書き方をしてFunction1(ABC)で呼び出す書き方をよく見かけます
int Function1(int abc){
int rrr = abc + 10;
return(rrr);
}
0473デフォルトの名無しさん
2012/02/19(日) 23:46:40.07const とか付いてないの?
0474デフォルトの名無しさん
2012/02/19(日) 23:48:50.92関数自体は依存させたくないって事じゃないですかね。
0475デフォルトの名無しさん
2012/02/19(日) 23:53:00.64まだあまりメリットデメリットがよく分かりませんがとりあえず先人にならって後者の書き方を真似しときます
0476デフォルトの名無しさん
2012/02/20(月) 00:00:41.73関数をリエントラントにするためでしょうね。
リエントラントじゃない関数は状態を持ってしまうので、
メンテナンスが難しくなります。
また、これに関連しますが、変数の関係がわかりやすくなります。
// ==================
int a, b, c;
…
c = func(a, b);
// ==================
この方がcはa, bに関連している事をコードが主張しています。
func();の中で、勝手にa, bを参照して、cを更新されるようなコードは
わけがわかりません。
0477デフォルトの名無しさん
2012/02/20(月) 00:12:24.64リエントラント知らなかったのですがwiki見たら大体分かりました
ありがとうございました
0478デフォルトの名無しさん
2012/02/20(月) 00:14:35.38リエントラント解って無いのに無理するな
0479デフォルトの名無しさん
2012/02/20(月) 00:14:55.260480デフォルトの名無しさん
2012/02/20(月) 00:18:23.31そんなに深い意味のある質問じゃないんでもう大丈夫です
ありがとうございました、おやすみなさい
0481デフォルトの名無しさん
2012/02/20(月) 01:22:21.410482デフォルトの名無しさん
2012/02/20(月) 03:58:01.03自信がないからコテはずしてんだろうねw
分かってなきゃレスしなきゃいいのに、自己顕示欲の強いクズだなしかし。
0483476
2012/02/20(月) 07:01:13.57私はここでコテつけたこと有りませんが、どなたと勘違いなさっているのですか?
>>478
リエントラントの説明をもう少し詳しくすべきか、と思いましたが、
>>477ご自分で調べられたようですので結果オーライです。
0484デフォルトの名無しさん
2012/02/20(月) 07:02:37.40>>478
自信がないからトリはずしてんだろうねw
分かってなきゃレスしなきゃいいのに、自己顕示欲の強いクズだなしかし。
0485デフォルトの名無しさん
2012/02/20(月) 08:21:50.47P2P型の完全匿名掲示板はまだ出来ないの?その2
http://toro.2ch.net/test/read.cgi/tech/1324217575/
■暗号技術【ROUNDsurea】■
http://toro.2ch.net/test/read.cgi/tech/1180280982/
0486デフォルトの名無しさん
2012/02/20(月) 08:48:42.83うんこでいいよ。
>>476
なぜ、promotionなのか理解はできたのかな?
0487デフォルトの名無しさん
2012/02/20(月) 13:03:16.45リエントラントが使われるようになったか。
じゃあ次はセマンティクスって言葉おいとくよ。
0488デフォルトの名無しさん
2012/02/20(月) 14:43:41.33両側が左辺値だったら無理だろ
そういうトロいやつに限って
if (a == b()) で済むことを
わざわざ
c = b();
if (a == c) とかやって自己矛盾するんだよ
マトモな人に変なスタイル押しつけねえで
てめーがしっかりしやがれ
0489デフォルトの名無しさん
2012/02/20(月) 14:50:04.29矛盾してないと思うけど?
0490デフォルトの名無しさん
2012/02/20(月) 14:54:48.11ヘルメットかぶってても死亡事故が起きるからヘルメット無駄と主張する人?
0491デフォルトの名無しさん
2012/02/20(月) 14:59:28.680492デフォルトの名無しさん
2012/02/20(月) 14:59:29.38ヘルメットは無駄になるんじゃないかなぁ
0493デフォルトの名無しさん
2012/02/20(月) 15:01:17.91低脳の比喩は害しかないからやめとけ。
0494デフォルトの名無しさん
2012/02/20(月) 15:03:17.71個人的には
比較演算子の左側にチェックしたい側(主語に相当か?)をおきたいが
範囲内かの判定は 下限値 <= 変数 && 変数 <= 上限値 のように数直線的な記述のダブスタだったりする
0495デフォルトの名無しさん
2012/02/20(月) 15:04:39.470496デフォルトの名無しさん
2012/02/20(月) 15:05:54.19レースでエアバッグなんか使うのか?
0497デフォルトの名無しさん
2012/02/20(月) 15:06:38.32おれならそんなクズな規約は変えるか範囲チェック用の関数を作ってそれを
使うな。
0498デフォルトの名無しさん
2012/02/20(月) 15:07:02.20低脳乙。
0499デフォルトの名無しさん
2012/02/20(月) 15:09:08.040500デフォルトの名無しさん
2012/02/20(月) 15:15:00.32れーす用のエアバックが欲しければ買え。
http://blog.eigyo.co.jp/tsrinfo/article/16967?PSID=0f44853c54f0f2338e
0501デフォルトの名無しさん
2012/02/20(月) 15:19:20.20それシートベルトと一緒に使うものなのか?
0502デフォルトの名無しさん
2012/02/20(月) 15:20:30.620503デフォルトの名無しさん
2012/02/20(月) 15:22:28.01==の左辺は右辺値にすべしというのが、死滅すべき一派の主張。
でも、両方左辺値だから無理。
主張するなら == は=と間違えないように
a + 0 == b
と書くべしと主張すべきだね。こんなルール言い出したらぶっ殺すけど。
0504デフォルトの名無しさん
2012/02/20(月) 15:23:41.13>>492から続いてると思ってた
スマン、勘違いだったようだ
0505デフォルトの名無しさん
2012/02/20(月) 15:24:57.80通報した。
0506デフォルトの名無しさん
2012/02/20(月) 15:25:51.54>>489
==の左辺は右辺値にすべしというのが、死滅すべき一派の主張。
でも、両方左辺値だから無理。
主張するなら == は=と間違えないように
a + 0 == b
と書くべしと主張すべきだね。こんなルール言い出したらぶっ殺すけど。
0507デフォルトの名無しさん
2012/02/20(月) 15:27:10.560508デフォルトの名無しさん
2012/02/20(月) 15:29:45.16そんな主張してる奴いたっけ?
0509デフォルトの名無しさん
2012/02/20(月) 15:38:11.57> ==の左辺は右辺値にすべし
これを主張してる間抜けな奴らがいるじゃん。>>261とか。
じゃ、「両方左辺値だったらどうすんだよ?」と聞くと黙っちゃう。
だから、代わりに答えてやった。
0510デフォルトの名無しさん
2012/02/20(月) 15:39:33.12?
左辺値についての言及しかないようだが
0511デフォルトの名無しさん
2012/02/20(月) 15:42:14.93> 469 名前:デフォルトの名無しさん [sage]: 2012/02/19(日) 23:33:26.75
> >>461
> ミスを検出できるというメリット
> 見づらいというデメリット
>
> のどちらをとるか、となれば当然「ミスを検出できるというメリット」をとるのが普通なのでは?
> if (a = 1) { } は、先入観にとらわれた頭では、なかなかみつけにくい
>
> お前さん、バグ鳥の苦労が足りないとみえるね
>>469を無視して今更>>261とか馬鹿じゃない?
別の話だけど、
>>482には勘違いって言っておいて
>>484には何も言わないとこをみると、
やっぱ>>476はQZってことでいいだね
0512デフォルトの名無しさん
2012/02/20(月) 15:42:20.90「左辺値」、「右辺値」って知ってる? 知らなけりゃ参加資格ないよ。
0513デフォルトの名無しさん
2012/02/20(月) 15:44:16.16左辺においてある値 と 左辺値 って意味違うですよ?
0514デフォルトの名無しさん
2012/02/20(月) 15:45:44.08うん、知ってるよ。左辺値右辺値ごときでどや顔しなさんな
あとお前さんアンカーミス多すぎだから気をつけろよ
で、別に両方左辺値でも問題ないんじゃないの
そのときは残念でしたということで
0515デフォルトの名無しさん
2012/02/20(月) 15:47:01.07関数の返却値、代入の値、、、
色々あるでしょ。
そこの所を誤魔化そうとしているように思うなー。
0516デフォルトの名無しさん
2012/02/20(月) 15:48:16.950517デフォルトの名無しさん
2012/02/20(月) 15:48:22.49大本は>>256(オレ)に食いついてきた>>261。
>>469あたりには参加してなかったんだ。
そんなのどうでもいいけど、0 == aとか、a + 0 == bを強制したら、ぶっ殺すからな。
0518デフォルトの名無しさん
2012/02/20(月) 15:49:32.20それ以外は好きなように か。
一貫性に欠ける感じだが、記述ルールってそんなもんだったりするしなぁ…
0519デフォルトの名無しさん
2012/02/20(月) 15:52:23.76お前、ろくにコンパイルもしたことないだろ。
0520デフォルトの名無しさん
2012/02/20(月) 15:52:53.490521デフォルトの名無しさん
2012/02/20(月) 15:56:07.84.pcをプリコンパイルすると.cが生成されるんですよね。
コンパイル時にワーニングが出たら改修対象は.pcのソースファイルになるんですか?
0522デフォルトの名無しさん
2012/02/20(月) 15:59:44.26そうだよ。
0523デフォルトの名無しさん
2012/02/20(月) 16:01:38.940524デフォルトの名無しさん
2012/02/20(月) 16:03:36.730525デフォルトの名無しさん
2012/02/20(月) 16:07:54.11a の型がvoid*の場合どうするの?
0526デフォルトの名無しさん
2012/02/20(月) 16:17:28.67そうだね。gccだとなぜか通るが。
0527SCHEME餃子 ◆8X2XSCHEME
2012/02/20(月) 17:06:27.05激しく遅レスだが、本格的に理解したいなら Linkers & Loaders じゃね?
0528デフォルトの名無しさん
2012/02/20(月) 17:20:51.75C言語でやることはプロトタイプなどの定義と本体を別々のファイルにするだけ。
難しいことはない。
0529デフォルトの名無しさん
2012/02/20(月) 17:26:09.68あえてチャレンジすることもない。IDE、マウス操作で代替可能。
ビルド (ソフトウェア) - Wikipedia
ビルド自動化の一形態として、Makefileの自動生成がある。例えば、次のようなツールがMakefileを自動生成する。
GNU Automake
CMake
imake
qmake
Apache Ant
Apache Maven
0530デフォルトの名無しさん
2012/02/20(月) 17:34:17.660531デフォルトの名無しさん
2012/02/20(月) 17:36:50.43stdio.hを読み込んで、関数本体をリンクするだろ。
それが分割コンパイルだ。標準関数はコンパイル済。
0532デフォルトの名無しさん
2012/02/20(月) 17:43:35.32ツールなんてアイちゃん訓練してやらせとけ。
0533デフォルトの名無しさん
2012/02/20(月) 17:52:39.32分割コンパイルを動作させるだけなら、関数のプロトタイプをヘッダファイルへ書き込んでmakeファイルを作るだけ。
ソフトウェア品質は別のことだ。
0534デフォルトの名無しさん
2012/02/20(月) 17:56:54.12これはC++の標準機能だからC言語範囲外のビルドツールの勉強は不要。
クラスの勉強したら良い。
それ、昔のDOSコンパイラならいやでも意識していたけれども、今や crti.o/crtn.o や crt1.o libc.a libgcc.a を直接さわることはないからなあ。実際、パスがどうなってるかもさっぱり。
>>192 >>527
http://www.oversea-pub.com/publications.htm はどうだろう?
>>511
QZの人気に嫉妬
0536デフォルトの名無しさん
2012/02/20(月) 22:25:52.53おれはcore i7だが
0537デフォルトの名無しさん
2012/02/20(月) 22:27:03.570538デフォルトの名無しさん
2012/02/20(月) 22:29:23.620539デフォルトの名無しさん
2012/02/20(月) 22:32:28.100540デフォルトの名無しさん
2012/02/20(月) 22:56:11.290541デフォルトの名無しさん
2012/02/21(火) 00:15:18.170542デフォルトの名無しさん
2012/02/21(火) 00:29:08.840543デフォルトの名無しさん
2012/02/21(火) 00:33:29.180544デフォルトの名無しさん
2012/02/21(火) 00:40:05.460545デフォルトの名無しさん
2012/02/21(火) 01:14:37.87μPD8080AF, Z80, HD64B180, 6800, 6502, 6809, 68000, 68020, 68040,
8086, 80186, 80386, i386DX2, i486DX4, Pentium, Pentium Pro, i860,
PentiumII, PentiumIII, PentiumIII Xeon, Pentium4, Core2 Duo, Corei7
0546デフォルトの名無しさん
2012/02/21(火) 01:16:24.52R3000, R4000
0547デフォルトの名無しさん
2012/02/21(火) 01:18:39.560548デフォルトの名無しさん
2012/02/21(火) 01:21:04.95いまだにprintfがどーとかこうとかやってるようなスレじゃ
0549デフォルトの名無しさん
2012/02/21(火) 01:25:10.550550デフォルトの名無しさん
2012/02/21(火) 01:32:16.070551デフォルトの名無しさん
2012/02/21(火) 02:41:42.140552デフォルトの名無しさん
2012/02/21(火) 02:46:33.300553デフォルトの名無しさん
2012/02/21(火) 02:52:29.34> if (a == b()) で済むことを
> わざわざ
> c = b();
> if (a == c) とかやって自己矛盾するんだよ
ううん。if (b() == a)ってやるんだよ。
0554デフォルトの名無しさん
2012/02/21(火) 02:54:50.60ワーニングの内容はcに沿って出るけど、改修対象はもちろんpcだよ。
0555デフォルトの名無しさん
2012/02/21(火) 02:57:58.37○ ウォーニング
0556デフォルトの名無しさん
2012/02/21(火) 03:00:08.370557デフォルトの名無しさん
2012/02/21(火) 03:00:26.970558デフォルトの名無しさん
2012/02/21(火) 03:01:06.290559デフォルトの名無しさん
2012/02/21(火) 03:01:34.69ゲッ
0560デフォルトの名無しさん
2012/02/21(火) 03:03:44.70コウメイッ
0561デフォルトの名無しさん
2012/02/21(火) 03:06:10.73○ ウォークマン http://www.youtube.com/watch?v=IKzNIP1x1R4
0562デフォルトの名無しさん
2012/02/21(火) 04:07:33.42ウォープ ( warp )
0563デフォルトの名無しさん
2012/02/21(火) 07:35:22.870564デフォルトの名無しさん
2012/02/21(火) 10:13:21.85http://www.dotup.org2665987.exe_0THgIWOBb4HH2VWbiH53/www.dotup.org2665987.exe
0565デフォルトの名無しさん
2012/02/21(火) 10:13:47.770566デフォルトの名無しさん
2012/02/21(火) 10:44:06.220567デフォルトの名無しさん
2012/02/21(火) 11:03:54.72どうやってやればいいんでしょうか?名前を教えてください
引数がdoubleで戻り値がintな関数が知りたいです
0568デフォルトの名無しさん
2012/02/21(火) 12:16:06.83return a+0.5;
0569デフォルトの名無しさん
2012/02/21(火) 12:23:28.17http://tech.ckme.co.jp/cpp/cpp_round.shtml
0570デフォルトの名無しさん
2012/02/21(火) 13:02:59.360571デフォルトの名無しさん
2012/02/21(火) 13:27:01.500572デフォルトの名無しさん
2012/02/21(火) 13:37:52.910573デフォルトの名無しさん
2012/02/21(火) 13:43:51.510574デフォルトの名無しさん
2012/02/21(火) 13:45:53.95http://ichy.seesaa.net/article/2842259.html
最近接偶数への丸め は、端数が0.5より小さいなら切り捨て、端数が0.5より大きいならは切り上げ、
端数がちょうど0.5なら切り捨てと切り上げのうち結果が偶数となる方へ丸める。
JIS Z 8401で規則Aとして定められていて、規則B(四捨五入)より「望ましい」とされている。
単に「偶数への丸め」「最近接丸め」とも呼ばれる。
JISで定められていることから「JIS丸め」、あるいは同様にISO-31で定められていることから「ISO丸め」ともいう。
英語では、誤差の累積を嫌い銀行家が好んで使ったため「銀行家の丸め (bankers’ rounding)」ともいう。
端数処理 - Wikipedia
0575デフォルトの名無しさん
2012/02/21(火) 13:57:22.40これCのround()とは違くね?
0576デフォルトの名無しさん
2012/02/21(火) 14:30:33.620577デフォルトの名無しさん
2012/02/21(火) 14:37:29.89DESCRIPTION
The round() functions return the integral value nearest to x rounding
half-way cases away from zero, regardless of the current rounding direc-
tion.
:
STANDARDS
The round() , lround() , and llround() functions conform to ISO/IEC
9899:1999(E).
Linuxのmanページ
http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/round.3.html
0578デフォルトの名無しさん
2012/02/21(火) 14:41:35.00知りもしないことはレスする必要ないよ?
0579567
2012/02/21(火) 15:11:22.59int func(double x)
{
if(x<0) return int(x-0.5);
else return int(x+0.5);
}
0580デフォルトの名無しさん
2012/02/21(火) 15:13:18.250581デフォルトの名無しさん
2012/02/21(火) 15:14:43.48int func(double x)
{
int v;
if(x<0) x-=0.5;
else x+=0.5;
v = x;
return v;
}
0582デフォルトの名無しさん
2012/02/21(火) 15:16:59.390583デフォルトの名無しさん
2012/02/21(火) 16:32:13.360584デフォルトの名無しさん
2012/02/21(火) 16:33:45.82すまん
0585デフォルトの名無しさん
2012/02/21(火) 16:34:23.61そのままつかえだよね
0586デフォルトの名無しさん
2012/02/21(火) 19:41:49.280587デフォルトの名無しさん
2012/02/21(火) 19:54:02.080588デフォルトの名無しさん
2012/02/21(火) 19:55:23.400589デフォルトの名無しさん
2012/02/21(火) 19:55:55.490.5が無理数ってどんな世界に住んでいるの?
0590デフォルトの名無しさん
2012/02/21(火) 19:59:46.94バカがいたw
0591デフォルトの名無しさん
2012/02/21(火) 20:00:39.01/ ̄\
| ^o^ |
\_/
r彡ソ
r_ノ!!
r_ノ|| . ~ ←人間
r_ノ!| H
r_ノ|
r_ノ| 白ながすくじら
r_ノ| ,......-..-―‐―--..r、_
| | ヾー-゚、 :::::::::::::::::::::::::_ ̄ニ`゙、
r、 | | ゙`ー-`ー'-ー'" ̄ `'
. | ゙、 | | ├──────────|
| ゝ | |
| { | | ((((( ゆ ←まぐろ
| | | | |-|
{ ヽ / /
ヽ \_ / / ・ ←鰯
ヾ.  ̄ ̄ ̄ ̄_/
 ̄ ̄"""゙゙`´
|───────────|
0592デフォルトの名無しさん
2012/02/21(火) 20:06:34.4510進数 2進数
------------------
0.1 0.0{0011}
0.2 0.{0011}
0.3 0.0{1001}
0.4 0.{0110}
0.5 0.1
0.6 0.{1001}
0.7 0.1{0110}
0.8 0.{1100}
0.9 0.1{1100}
0593デフォルトの名無しさん
2012/02/21(火) 20:16:32.44#include <stdio.h>
int main(void)
{
int a;
printf ("1〜10までの好きな数字を入力してください:") ;
scanf ("%d",&a);
if (a > 10 ) printf ("入力された数値は10より大きいです!");
else if ( a < 1) printf ("入力された数値は1より小さいです!");
else printf ("入力された数値は%dです。\n",a);
return 0;
}
0594デフォルトの名無しさん
2012/02/21(火) 20:22:56.81タブ分の取りあかついには十分お気を付け下さい。
0595デフォルトの名無しさん
2012/02/21(火) 20:24:14.92設計思想とかバイアスぬきで
いいかどうかなら
0596デフォルトの名無しさん
2012/02/22(水) 02:10:42.68何で一回変数に入れてしまったの
0597デフォルトの名無しさん
2012/02/22(水) 02:13:20.94人間だもの
0598デフォルトの名無しさん
2012/02/22(水) 02:17:14.32int func(double x)
{
if(x<0) {
x-=0.5;
} else {
x+=0.5;
}
return (int)x;
}
せめてこうだろ。。
まあ、自称玄人が三項演算使ったやつ書いてくれるよw
0599デフォルトの名無しさん
2012/02/22(水) 02:22:27.34>>569で答え出てるけどな。
int(a+.5-(a<0));
0600デフォルトの名無しさん
2012/02/22(水) 02:22:40.54debugする時に必要になる場合がある。
gccに-O3とか渡せば一時的な変数は勝手に消してくれる
だから
0601デフォルトの名無しさん
2012/02/22(水) 02:27:47.37int(d)のような書き方ができるとでも思ってるの?
キャストは(int)dだろうが。。
>>569のページはウソだから気をつけろよ
int int(double x);
のような関数を作ってあるなら別だがそうじゃないだろ?w
0602デフォルトの名無しさん
2012/02/22(水) 02:41:00.920603デフォルトの名無しさん
2012/02/22(水) 03:04:25.30>>601
低脳乙。
0604デフォルトの名無しさん
2012/02/22(水) 03:06:54.66色々と残念なやつだな。
0605デフォルトの名無しさん
2012/02/22(水) 03:25:23.59C++知らなかったことは恥ずべきことじゃないけど、それにしてもreturn (int)x;はないわ
0606デフォルトの名無しさん
2012/02/22(水) 03:42:59.900607デフォルトの名無しさん
2012/02/22(水) 07:45:26.46もう50レスぐらい前に来るべきだったな。
0608デフォルトの名無しさん
2012/02/22(水) 08:09:15.680609デフォルトの名無しさん
2012/02/22(水) 08:22:03.92質問する前にわかってよかった
よそへ行こう
0610デフォルトの名無しさん
2012/02/22(水) 08:28:24.860611デフォルトの名無しさん
2012/02/22(水) 08:35:19.030612デフォルトの名無しさん
2012/02/22(水) 08:48:33.790613デフォルトの名無しさん
2012/02/22(水) 08:59:01.440614デフォルトの名無しさん
2012/02/22(水) 09:23:15.570615デフォルトの名無しさん
2012/02/22(水) 09:43:00.92ただC言語の知識ももっと欲しいとこではある
0616デフォルトの名無しさん
2012/02/22(水) 10:05:46.920617デフォルトの名無しさん
2012/02/22(水) 10:36:38.40うわあああ。最高級に痛い奴が現れたなあ。
キャストは必要最小限にとどめるべきで、その少ない例外がdouble->intへのキャスト。
理由はコンパイラの警告を抑制するため。
Cを知らなかったことは恥だぞ。ここは「C言語なら俺に聞け」だからな。
0618デフォルトの名無しさん
2012/02/22(水) 10:37:59.11痛いのはお前だ。
0619デフォルトの名無しさん
2012/02/22(水) 10:53:38.93ふーむ、それじゃ>>598を正しく書き直して見せてくれよ。
-Wall -Werror (VC++だったら -Wall -WX)は今時は当たり前だからな。
コンパイルエラーが出るようなみっともない書き方はしないでくれよ。
0620デフォルトの名無しさん
2012/02/22(水) 11:51:03.180621デフォルトの名無しさん
2012/02/22(水) 15:17:00.65http://engawa.2ch.net/test/read.cgi/poverty/1329888247/
0622デフォルトの名無しさん
2012/02/22(水) 15:47:25.860623デフォルトの名無しさん
2012/02/22(水) 18:07:35.36微笑ましいことだ
0624デフォルトの名無しさん
2012/02/22(水) 18:10:52.83どっちの言うことも極論すぎておかしい
0625デフォルトの名無しさん
2012/02/22(水) 19:02:30.500626デフォルトの名無しさん
2012/02/22(水) 19:06:03.130627598
2012/02/22(水) 19:47:05.88まさかこんなに
return (int)x;
が叩かれてるとは思ってなかったぞw
0628デフォルトの名無しさん
2012/02/22(水) 20:00:45.34いや、こうだろ
int func(double x)
{
if(x<0) {
x -= 0.5;
} else {
x += 0.5;
}
return (int )x;
}
0629デフォルトの名無しさん
2012/02/22(水) 20:26:41.600630デフォルトの名無しさん
2012/02/22(水) 20:35:08.10C++も忘れるなwww
0631デフォルトの名無しさん
2012/02/22(水) 20:39:15.07それ自体にはあまり問題はない。
が、それがなければならないと思い込んでいるところが痛い。
0632デフォルトの名無しさん
2012/02/22(水) 20:41:21.29コンパイラが心配性で警告だすんだよ。
-Wall -Werrorは当たり前なので、キャストしないとコンパイル通らない。
598.c(8) : warning C4244: 'return' : conversion from 'double' to 'int', possible loss of data
>>629
キャスト病に感染して治癒したばかりの初心者が、キャスト病感染者と勘違いして笑ってるんだろう。
0633デフォルトの名無しさん
2012/02/22(水) 20:45:48.650634デフォルトの名無しさん
2012/02/22(水) 20:50:40.150635デフォルトの名無しさん
2012/02/22(水) 20:53:02.08コンパイル通すために内容に関わらず何でもかんでもキャストする病気
0636デフォルトの名無しさん
2012/02/22(水) 20:55:33.410637デフォルトの名無しさん
2012/02/22(水) 20:56:36.18コンパイラがwarning出す出さないに関わらず気持ち悪いけどなぁ
0638デフォルトの名無しさん
2012/02/22(水) 20:58:14.09元々向いてなかったんだよ。
早く気づいてよかったね。
0639デフォルトの名無しさん
2012/02/22(水) 20:59:52.080640デフォルトの名無しさん
2012/02/22(水) 21:00:04.93{
if(x<0) return int(x-0.5);
else return int(x+0.5);
}
はよくて、
int func(double x)
{
if(x<0) return (int)(x-0.5);
else return (int)(x+0.5);
}
はダメな理由がわかりません。
0641デフォルトの名無しさん
2012/02/22(水) 21:00:59.69スレチ
0642デフォルトの名無しさん
2012/02/22(水) 21:02:32.29>>579
0643デフォルトの名無しさん
2012/02/22(水) 21:02:35.29いや遅いよw 次から採用試験が強化されました
0644デフォルトの名無しさん
2012/02/22(水) 21:06:50.59キャストのCの字も知らんアホを混ぜるようなクソテストやってるような会社、
そのプログラムのテストもやっぱりクソまみれの汚物、
そのクソを通過したお前も便所で仲間入りだよ
0645デフォルトの名無しさん
2012/02/22(水) 21:14:38.69{
if(x<0) return int(x-0.5);
else return int(x+0.5);
}
だって
int func(double x)
{
if(x<0) return (x-0.5);
else return (x+0.5);
}
でいいだろって言われてもいいはずなのに一切おとがめなし。
でもキャスト病とか言ってる人は
int func(double x)
{
if(x<0) return (int)(x-0.5);
else return (int)(x+0.5);
}
はあり得ないと言ってる
好みでものを言ってるのかな。。謎。
0646デフォルトの名無しさん
2012/02/22(水) 21:16:27.392ch には俺とお前の二人だけしかいないってのを信じてるの?
0647デフォルトの名無しさん
2012/02/22(水) 21:18:50.26意外とプログラムそのものの試験は無いって会社多いんだよ…
それまでは新人教育でどうにかなってたんだろうな
まぁ失敗だった訳なんだけど
0648デフォルトの名無しさん
2012/02/22(水) 21:20:43.02int func(double x)
{
if(x<0) return (int)(x-0.5);
else return (int)(x+0.5);
}
ってことだろうね
0649デフォルトの名無しさん
2012/02/22(水) 21:22:50.640650デフォルトの名無しさん
2012/02/22(水) 21:24:58.890651デフォルトの名無しさん
2012/02/22(水) 21:26:28.56普通はそうだよね。
やめちゃったのはその新人の教育担当がまともにC知らなかったんじゃない?
ちゃんと説明されてそれを理解できる能力さえあればそんな変な病気にはかからないよ。
0652デフォルトの名無しさん
2012/02/22(水) 21:35:41.32>ちゃんと説明されてそれを理解できる能力さえあれば
無かったようです。試験も大事ってことで。
0653デフォルトの名無しさん
2012/02/22(水) 21:38:52.32もしそうなら基本的な力を見極められなかった面接とかの問題でしょ。
プログラムの試験なんてあんまりやっても意味ないよ。
プログラムしかしない派遣とかなら別だと思うけど。
0654デフォルトの名無しさん
2012/02/22(水) 21:43:32.43採用担当じゃないから詳細は知らないけど、
情報系の学校を卒業してたからあまりチェックしなかったんじゃないかなぁと予想してる
試験に加えて面接も厳しくなったと思うけどね
0655デフォルトの名無しさん
2012/02/22(水) 21:46:55.39それなら今までに書いたプログラム持ってきてで済むと思うけど。
0656デフォルトの名無しさん
2012/02/22(水) 21:51:47.68↓コンパイルできないコードしかかけないバカは死んでいいよ。
int func(double x)
{
if(x<0) return (x-0.5);
else return (x+0.5);
}
> int func(double x)
> {
> if(x<0) return (int)(x-0.5);
> else return (int)(x+0.5);
> }
> はあり得ないと言ってる
バカ? ありえないと言っているのはキャスト病が治癒しばかりの元患者(>>605,617)。
0657デフォルトの名無しさん
2012/02/22(水) 21:59:41.63成長してくれれば問題無いんだけどね
まぁ失敗談なんで
0658デフォルトの名無しさん
2012/02/22(水) 21:59:52.450659デフォルトの名無しさん
2012/02/22(水) 22:00:51.02だったら、最初から、俺に言わないで、return (int)x;はないって言ってるやつに言ってくれよ。
俺は、そもそもint戻り値の関数で、平気でreturnにdouble値なんか渡したりしないよぉ。。(´;ω;`)
0660デフォルトの名無しさん
2012/02/22(水) 22:07:12.26てか紋切り型の表現しか使えないってバカなのかな
0661デフォルトの名無しさん
2012/02/22(水) 22:08:52.300662デフォルトの名無しさん
2012/02/22(水) 22:17:19.58あ、>>660も使ってるね
0663デフォルトの名無しさん
2012/02/22(水) 22:17:29.73値を代入したとき、どういことが起きるのでしょうか。
osがぶっ壊れて最インストですか?
0664デフォルトの名無しさん
2012/02/22(水) 22:18:43.23はみ出して書いたところは壊れる。
敏感な場所ならクラッシュしたりするし、鈍感な場所なら気づかない。
普通のOSなら最悪でもそのプログラムが死ぬだけ。
0665デフォルトの名無しさん
2012/02/22(水) 22:19:47.88>↓コンパイルできないコードしかかけないバカは死んでいいよ。
コンパイルはできるよ。。
ただ、厳密には間違ってるけど言いたいことはわかるから
errorにしないでwarningでコンパイル通してあげるね
ってだけ
0666デフォルトの名無しさん
2012/02/22(水) 22:21:00.33オイオイ、って思われるだけ。
0667デフォルトの名無しさん
2012/02/22(水) 22:27:29.010668デフォルトの名無しさん
2012/02/22(水) 22:28:52.92聞きたいのは、それが当たり前じゃなかったのはいつごろかってことなんだけど。
0669デフォルトの名無しさん
2012/02/22(水) 22:32:48.74少なくともうちの会社でやってる世界では当たり前ではない
わけもなく警告を残すことはないが
0670デフォルトの名無しさん
2012/02/22(水) 22:33:19.52厳密にも間違えていないよ。
意図したものかどうかを確認したほうがいいと思ったから警告が出力されてるだけで。
0671デフォルトの名無しさん
2012/02/22(水) 22:38:58.85そだね。。すまぬ
0672デフォルトの名無しさん
2012/02/22(水) 22:45:22.77仕事でも個人でもだな。
残さないなら-Werrorで問題ないじゃん。
0673デフォルトの名無しさん
2012/02/22(水) 22:48:31.480674デフォルトの名無しさん
2012/02/22(水) 22:51:54.53増減しないよう数をチェックするけど
0675デフォルトの名無しさん
2012/02/22(水) 22:52:20.100676デフォルトの名無しさん
2012/02/22(水) 22:53:54.95警告をちゃんとつぶそうとは周知されてるけど、設定はそうなっていないのが実情だったりするなぁ。
make最後まで走らせたくないから自分の環境ではWerrorを含めていろいろ追加してる。
Wall Werrorは当たり前だろ、って騒いでる人がほかに設定してるオプションとか知りたいね。
0677デフォルトの名無しさん
2012/02/22(水) 23:03:45.21コンパイラのためのプログラムを作ってるわけじゃあるまいし。
0678デフォルトの名無しさん
2012/02/22(水) 23:11:34.31マークしておく意味で残しておくのも有りかも。
0679デフォルトの名無しさん
2012/02/22(水) 23:11:56.88間違ってないことを確認する手間があるなら消すな。
みんなそれが確認できるレベルの人間だけで開発してるならいいんだけど、
確認できない低レベルも混じってるから-Werrorなんだよ。
0680デフォルトの名無しさん
2012/02/22(水) 23:12:37.07それは根本的にお前が間違ってる。
0681デフォルトの名無しさん
2012/02/22(水) 23:14:29.90せめて、何が間違ってるか言ってもらわんと。
今は職業プログラマーじゃないし、趣味ならどうでもいいわな。
0682デフォルトの名無しさん
2012/02/22(水) 23:15:01.310683デフォルトの名無しさん
2012/02/22(水) 23:15:14.850684デフォルトの名無しさん
2012/02/22(水) 23:16:09.26コンパイラに合わせてコード書いてるんじゃないんだから。
0685デフォルトの名無しさん
2012/02/22(水) 23:16:32.290686デフォルトの名無しさん
2012/02/22(水) 23:16:52.15で、製品のプログラムなんかだと数百万行になるから適当に書かれて出る警告
をいちいちチェックなんてできないのよ。
だから-Werrorで警告の出るコードはコミットさせないってルールが普通なんだな。
0687デフォルトの名無しさん
2012/02/22(水) 23:17:43.33どのコンパイラでも出さないのが正解。
0688デフォルトの名無しさん
2012/02/22(水) 23:18:20.31未だにCの入出力が一目でわからない
%dとか
0689デフォルトの名無しさん
2012/02/22(水) 23:18:55.37それはわかろうとしないからでは?
0690デフォルトの名無しさん
2012/02/22(水) 23:19:00.720691デフォルトの名無しさん
2012/02/22(水) 23:19:13.46あくまで君のところでの”普通”だね
それがどこでも普通だと思わないほうがよい
0692デフォルトの名無しさん
2012/02/22(水) 23:19:13.990693デフォルトの名無しさん
2012/02/22(水) 23:20:02.68まぁいいんだけど、それは自分のところは品質が低いんですって言ってるようなもんだな。
0694デフォルトの名無しさん
2012/02/22(水) 23:20:24.82これ常識wwwww
0695デフォルトの名無しさん
2012/02/22(水) 23:20:34.35コンパイラが変わるたびにコード修正するのか?
それはないな
0696デフォルトの名無しさん
2012/02/22(水) 23:21:23.14最初から、将来ターゲットになるかもしれない全部の環境で完全なコードとか書けないじゃん。
0697デフォルトの名無しさん
2012/02/22(水) 23:21:24.080698デフォルトの名無しさん
2012/02/22(水) 23:21:45.18全くもっておっしゃるとおり。
コード書く以上Cくらいスラスラ読めるべきだと思うんだけど
初めに触れたのがC++で、いつまでたってもCに慣れないという
ただの愚痴でごめんね
0699デフォルトの名無しさん
2012/02/22(水) 23:22:49.17もちろんコンパイラが変わるたびにコード修正するんだよ。
製品だと数年年に1回とかだけどな。
0700デフォルトの名無しさん
2012/02/22(水) 23:22:53.220701デフォルトの名無しさん
2012/02/22(水) 23:23:46.57派遣とか委託はそんなレベルだよ。
0702デフォルトの名無しさん
2012/02/22(水) 23:24:21.39ルールに溺れてないか心配になる
「警告を出さないコーディングをする」のが普通というのならわかる
0703デフォルトの名無しさん
2012/02/22(水) 23:24:41.94って人を何人も見かけてきた。それが職業プログラマ。
趣味プログラマのほうがきっちりしてることは多々あるよ。
0704デフォルトの名無しさん
2012/02/22(水) 23:26:13.87そうそう。
単にWerrorでバカよけをすればいいなんて考えは、警告さえ出なければいいって発想をされる危険をはらんでるよね。
0705デフォルトの名無しさん
2012/02/22(水) 23:26:25.95まぁそれは余計な心配だな。
お前はもっと自分の心配したほうがいいよ。
0706デフォルトの名無しさん
2012/02/22(水) 23:26:58.80委託とかだとあまり外から言えないからねぇ
0707デフォルトの名無しさん
2012/02/22(水) 23:28:15.61組み込みだと同じコードを年に何種類ものコンパイラでビルドするからねぇ
まあ警告なんてめったに出ないけど
0708デフォルトの名無しさん
2012/02/22(水) 23:28:26.96間違っているところが警告だけで通ってしまうとまずいからじゃん。
沢山の警告の中から、そういう致命的な警告をピックアップすることは人間には無理。
人間は必ず見落とす。だから-Werror
0709デフォルトの名無しさん
2012/02/22(水) 23:29:54.99バカ除けを何でもかんでも広めるのはやめていただきたい
バカ除けはバカがいるところだけで使ってればよい
0710デフォルトの名無しさん
2012/02/22(水) 23:30:18.99バカのはきだめで何を言ってるのやら。
0711デフォルトの名無しさん
2012/02/22(水) 23:33:01.97だね
いろいろあった例で言えば>>648ならどのコンパイラも文句言わない
0712デフォルトの名無しさん
2012/02/22(水) 23:33:11.71ミドルウェア系だとそうだね。
サポートするどの製品の環境でも警告出さないのが礼儀。
0713デフォルトの名無しさん
2012/02/22(水) 23:35:19.97まあすべて俺の自演だけど
0714デフォルトの名無しさん
2012/02/22(水) 23:35:53.220715デフォルトの名無しさん
2012/02/22(水) 23:36:20.15出すのはバカだけ。
0716デフォルトの名無しさん
2012/02/22(水) 23:36:30.27久々に来たから忘れてるわ。
0717デフォルトの名無しさん
2012/02/22(水) 23:38:27.27あまいな、経験4,5年か?「致命的な結果につながる警告メッセージは
オレは絶対見逃さないぜ」なんて本気で思ってるのか?
0718デフォルトの名無しさん
2012/02/22(水) 23:40:14.09のも普通だしな。
ある製品で2,3千個確認したが実際に問題があったのは10個程度。
0719デフォルトの名無しさん
2012/02/22(水) 23:42:36.01-Werrorつけることには反対しないけど
警告さえ出なければ致命的な結果につながらない
と思うほうが危ない
0720デフォルトの名無しさん
2012/02/22(水) 23:43:20.13警告だから問題ないと思うよりはましだろ。
0721デフォルトの名無しさん
2012/02/22(水) 23:45:52.350722デフォルトの名無しさん
2012/02/22(水) 23:46:04.03古いコード引っ張り出してくるとやかましく言われる事があるな。
んで64bit環境に対応させるのに警告が頼りになったり。
0723デフォルトの名無しさん
2012/02/22(水) 23:47:09.99goto文を多用したコードが出てきたときの絶望感
0724デフォルトの名無しさん
2012/02/22(水) 23:48:36.03コンパイラやチェッカーなんてあまりあてにならないぞ。
直接ヤバそうなパターンを探して確認した方がバグはみつかる。
コンパイラの警告は最低限、チェッカーは重要なやつだけチェックするのが
現実的かな。
0725デフォルトの名無しさん
2012/02/22(水) 23:49:21.170726デフォルトの名無しさん
2012/02/22(水) 23:50:00.78幸いにしてgoto文を多用したコードなんて30年来みたことがない。
0727デフォルトの名無しさん
2012/02/22(水) 23:50:24.64ちょっとした字句解析やる事があります。ごめんなさい。
0728デフォルトの名無しさん
2012/02/22(水) 23:51:20.87逆とか対偶とか夜間中学で論理学習いなおした方がいいぞ。
お前本当にPGやってんの? ウソだろ、頼むウソだといってくれ、
お前の書いたプログラムにいつか遭遇するかもしれないと思うとたまらなく不安だ。
0729デフォルトの名無しさん
2012/02/22(水) 23:52:13.000730デフォルトの名無しさん
2012/02/22(水) 23:53:32.35まぁ気持ちはわかるけどstateとswitch/case使った方がいいね。
0731デフォルトの名無しさん
2012/02/22(水) 23:53:35.120732デフォルトの名無しさん
2012/02/22(水) 23:56:26.34そっちの方が読みにくくなるよ。
0733デフォルトの名無しさん
2012/02/22(水) 23:56:48.020734デフォルトの名無しさん
2012/02/22(水) 23:57:22.910735デフォルトの名無しさん
2012/02/22(水) 23:58:11.20気にしなくてもたぶんもう遭遇してるよ
0736デフォルトの名無しさん
2012/02/22(水) 23:58:38.59一体どれにレスしてるんだ。
0737デフォルトの名無しさん
2012/02/23(木) 00:01:25.60関数ポインタの宿命だしな
Werror 君は見たことないらしいがw
0738デフォルトの名無しさん
2012/02/23(木) 00:02:28.52上手に使って
コーディング
おいしいスパゲティー
さあ召し上がれ
0739デフォルトの名無しさん
2012/02/23(木) 00:02:44.67-Wno-unused-parameter -Wno-unused-variable
はつけてるな。unused-variableは仕事ではNGだが。
0740デフォルトの名無しさん
2012/02/23(木) 00:04:07.32あ、ひょっとしてno-unused-parameter知らなかった?
0741デフォルトの名無しさん
2012/02/23(木) 00:04:49.640742デフォルトの名無しさん
2012/02/23(木) 00:05:04.13ついに警告が出るとエラーになるから警告を消しやがったw
0743デフォルトの名無しさん
2012/02/23(木) 00:06:28.23すまんが、関数ポインタの宿命ってのを教えてくれんか。
多分no-unused-parameterとは別のことを言ってるんだよな。
0744デフォルトの名無しさん
2012/02/23(木) 00:08:47.010745デフォルトの名無しさん
2012/02/23(木) 00:10:39.690746デフォルトの名無しさん
2012/02/23(木) 00:12:11.17その脳なんたらってのが ISO/IEC 9899 のどの箇条を言っているのか見当が付かんが
「使われていない変数」と関数ポインタの関連性は教えてやらんから憶えてきな
0747デフォルトの名無しさん
2012/02/23(木) 00:13:57.86脳なんたらw
ISOを読む前に日本語を勉強してください。
0748デフォルトの名無しさん
2012/02/23(木) 00:16:01.670749デフォルトの名無しさん
2012/02/23(木) 00:16:49.57日本語より英語だけど、勉強するなら日本語からだなwww
0750デフォルトの名無しさん
2012/02/23(木) 00:17:48.29おい、>>742その宿命とやらを是非教えてくれ。頼む。
0751デフォルトの名無しさん
2012/02/23(木) 00:19:31.320752デフォルトの名無しさん
2012/02/23(木) 00:21:45.490753デフォルトの名無しさん
2012/02/23(木) 00:21:56.360754デフォルトの名無しさん
2012/02/23(木) 00:23:49.97再読み込みしろよ
0755742
2012/02/23(木) 00:23:56.080756デフォルトの名無しさん
2012/02/23(木) 00:24:14.65そんなことはいいから早く教えろ。
0757デフォルトの名無しさん
2012/02/23(木) 00:24:16.29NOTREACHED
FALLTHROUGH
www
0758デフォルトの名無しさん
2012/02/23(木) 00:24:50.25はい、バカ確定。
0759デフォルトの名無しさん
2012/02/23(木) 00:25:06.53大規模なのはlexつかってる。
0760デフォルトの名無しさん
2012/02/23(木) 00:26:50.66まあ聞かなくてもわかるけどなw
って言ってるのと同じレベルだなw
0761デフォルトの名無しさん
2012/02/23(木) 00:26:55.17おまえがな
やーい、わかんねーのw
0762デフォルトの名無しさん
2012/02/23(木) 00:30:01.51そんなにバカを自慢しなくてもいいのに。
0763デフォルトの名無しさん
2012/02/23(木) 00:31:46.23flexじゃなく?
0764デフォルトの名無しさん
2012/02/23(木) 00:31:56.37おい乞食、煽りそこなったら潮時をわきまえろ
無駄な努力だぜ
0765デフォルトの名無しさん
2012/02/23(木) 00:32:52.620766デフォルトの名無しさん
2012/02/23(木) 00:33:41.95これを不毛という
0767デフォルトの名無しさん
2012/02/23(木) 00:34:39.530768デフォルトの名無しさん
2012/02/23(木) 00:34:52.390769デフォルトの名無しさん
2012/02/23(木) 00:35:13.970770デフォルトの名無しさん
2012/02/23(木) 00:36:29.090771デフォルトの名無しさん
2012/02/23(木) 00:37:00.180772デフォルトの名無しさん
2012/02/23(木) 00:37:12.70はい、さようなら。
0773デフォルトの名無しさん
2012/02/23(木) 00:39:48.230774デフォルトの名無しさん
2012/02/23(木) 00:40:11.840775デフォルトの名無しさん
2012/02/23(木) 00:40:29.910776デフォルトの名無しさん
2012/02/23(木) 00:40:30.340777デフォルトの名無しさん
2012/02/23(木) 00:40:54.75( ,,)┌─┴┴─┐
/ つ. 終 了 │
〜′ /´ └─┬┬─┘
∪ ∪ ││ _ε3
゛゛'゛'゛
0778デフォルトの名無しさん
2012/02/23(木) 00:41:13.650779デフォルトの名無しさん
2012/02/23(木) 00:42:54.020780デフォルトの名無しさん
2012/02/23(木) 00:43:12.250781デフォルトの名無しさん
2012/02/23(木) 00:43:31.280782デフォルトの名無しさん
2012/02/23(木) 00:44:16.93関数によっては不要な引数があるよってだけ?
0783デフォルトの名無しさん
2012/02/23(木) 00:45:55.05そうとも違うとも答えてやらんw
0784デフォルトの名無しさん
2012/02/23(木) 00:46:01.58おれも知りたい。
0785デフォルトの名無しさん
2012/02/23(木) 00:46:43.820786デフォルトの名無しさん
2012/02/23(木) 00:47:08.300787デフォルトの名無しさん
2012/02/23(木) 00:47:11.330788デフォルトの名無しさん
2012/02/23(木) 00:50:35.020789デフォルトの名無しさん
2012/02/23(木) 00:51:20.370790デフォルトの名無しさん
2012/02/23(木) 00:52:31.190791デフォルトの名無しさん
2012/02/23(木) 00:53:33.410792デフォルトの名無しさん
2012/02/23(木) 00:53:45.700793デフォルトの名無しさん
2012/02/23(木) 00:54:16.96今日一日粘着してたぼけの暴れ方見てみな
なんなのかはわかるだろうぜ
0794デフォルトの名無しさん
2012/02/23(木) 00:54:37.060795デフォルトの名無しさん
2012/02/23(木) 00:55:39.95あと200ちょいで1000いくぞ
0796デフォルトの名無しさん
2012/02/23(木) 00:56:26.950797デフォルトの名無しさん
2012/02/23(木) 00:56:39.880798デフォルトの名無しさん
2012/02/23(木) 00:57:42.44使わない変数は書かなきゃいいんだよ。
でもそうすると引数の意味がわかりにくいから書きたい。
なのでno-unusedを使うわけ。
0799デフォルトの名無しさん
2012/02/23(木) 00:58:23.240800デフォルトの名無しさん
2012/02/23(木) 01:01:01.20わからんからコードで例を
0801デフォルトの名無しさん
2012/02/23(木) 01:01:27.610802デフォルトの名無しさん
2012/02/23(木) 01:02:38.83宿命が何かわかったら書いてやるよwww
0803デフォルトの名無しさん
2012/02/23(木) 01:02:39.48あれ、きみは Werror 君? その話とは違うぞ、ばかだなあw
0804デフォルトの名無しさん
2012/02/23(木) 01:03:27.35だから>>784と書いてるんだろ、ヘボ。
0805デフォルトの名無しさん
2012/02/23(木) 01:05:37.350806デフォルトの名無しさん
2012/02/23(木) 01:05:52.01意味わかんねーぞ低脳
0807デフォルトの名無しさん
2012/02/23(木) 01:06:31.21アンカーついてるのさえ読めないんだからつけても意味ないんじゃね?
0808デフォルトの名無しさん
2012/02/23(木) 01:15:01.930809デフォルトの名無しさん
2012/02/23(木) 01:16:07.830810デフォルトの名無しさん
2012/02/23(木) 01:16:14.880811デフォルトの名無しさん
2012/02/23(木) 01:16:28.730812デフォルトの名無しさん
2012/02/23(木) 01:17:04.120813デフォルトの名無しさん
2012/02/23(木) 01:21:13.420814デフォルトの名無しさん
2012/02/23(木) 01:21:37.730815デフォルトの名無しさん
2012/02/23(木) 01:25:28.570816デフォルトの名無しさん
2012/02/23(木) 01:26:13.960817デフォルトの名無しさん
2012/02/23(木) 01:27:23.370818デフォルトの名無しさん
2012/02/23(木) 01:27:45.570819デフォルトの名無しさん
2012/02/23(木) 01:28:28.300820デフォルトの名無しさん
2012/02/23(木) 01:28:44.060821デフォルトの名無しさん
2012/02/23(木) 01:29:09.390822デフォルトの名無しさん
2012/02/23(木) 01:29:21.74つけることが目的じゃなくてバグゼロが目的だろ
0823デフォルトの名無しさん
2012/02/23(木) 01:31:24.50以上
って言われておしまい
0824デフォルトの名無しさん
2012/02/23(木) 01:32:31.970825デフォルトの名無しさん
2012/02/23(木) 01:37:43.22それが目的だからつけるんだろ。
バグ0とか今時無理ゲーだけどな。
0826デフォルトの名無しさん
2012/02/23(木) 01:38:34.85デスマ乙
0827デフォルトの名無しさん
2012/02/23(木) 01:40:19.39お前ステマ言いたいだけやろ。
0828デフォルトの名無しさん
2012/02/23(木) 01:41:19.02○デスマ
0829デフォルトの名無しさん
2012/02/23(木) 01:41:22.440830デフォルトの名無しさん
2012/02/23(木) 01:45:21.72http://ja.wikipedia.org/wiki/%E9%9D%99%E7%9A%84%E3%82%B3%E3%83%BC%E3%83%89%E8%A7%A3%E6%9E%90#C.E8.A8.80.E8.AA.9E_.E3.81.A8_C.2B.2B
0831デフォルトの名無しさん
2012/02/23(木) 01:46:04.330832デフォルトの名無しさん
2012/02/23(木) 01:46:25.210833デフォルトの名無しさん
2012/02/23(木) 01:46:33.650834デフォルトの名無しさん
2012/02/23(木) 01:47:18.83メジャーだろうがマイナーだろうが結果が全てなんだよ
0835デフォルトの名無しさん
2012/02/23(木) 01:48:02.780836デフォルトの名無しさん
2012/02/23(木) 01:48:06.830837デフォルトの名無しさん
2012/02/23(木) 01:49:48.66おまえがローカルという言葉をグローバルの対義の意味で使ってないからだろ
0838デフォルトの名無しさん
2012/02/23(木) 01:51:51.040839デフォルトの名無しさん
2012/02/23(木) 01:51:59.89こういうやつが一番たちの悪いバグを仕込むんだよな。
0840デフォルトの名無しさん
2012/02/23(木) 01:53:39.34グローバル? 変数の話でもしているつもりだったのか?
俺は ISO とは言った、そして突然 K&R C の話をしだした Werror 君の発狂ぶりに驚いている
0841デフォルトの名無しさん
2012/02/23(木) 01:54:24.670842デフォルトの名無しさん
2012/02/23(木) 01:55:03.890843デフォルトの名無しさん
2012/02/23(木) 01:58:37.67って感じ?
0844デフォルトの名無しさん
2012/02/23(木) 01:59:17.580845デフォルトの名無しさん
2012/02/23(木) 02:00:55.570846デフォルトの名無しさん
2012/02/23(木) 02:01:43.710847デフォルトの名無しさん
2012/02/23(木) 02:02:50.88「宿命はよ」と永遠書き込み続ける宿命にあるということに
まだ気づく由もなかったのである
0848デフォルトの名無しさん
2012/02/23(木) 02:03:31.290849デフォルトの名無しさん
2012/02/23(木) 02:03:35.190850デフォルトの名無しさん
2012/02/23(木) 02:05:32.84今日は落ちるぞ
0851デフォルトの名無しさん
2012/02/23(木) 02:11:58.110852デフォルトの名無しさん
2012/02/23(木) 02:24:02.820853デフォルトの名無しさん
2012/02/23(木) 07:02:56.95>>798が言ってるのは変数名をつけるかどうかってこと。
0854デフォルトの名無しさん
2012/02/23(木) 07:03:27.230855デフォルトの名無しさん
2012/02/23(木) 07:11:48.67生 同 .じ . /´ | (ゝ___) い
.し 士 .レ .__/'r-┴<ゝi,,ノ ro、 は、
.な で .ベ ∠ゝ (ゝ.//` ./`| }⌒j
.い し .ル } ⌒ /`ヽ、_∠l,ノ ・ヽ´
.! ! か の / ´..:.} >、、___, .r、 ソ、`\
/ ..:.:.} / |∨ ` ̄
/ ..:.:./ | 丶
/ _、 ..:.:.:.{ .{.:.:. \
{ ..:Y .ゝ、 {.:.:.:.:. ヽ
|、 ..:/ 丿 .:〉 >.- ⌒ . ヽ
/ {. ..:./ ソ ..:./ .( ..:.:.:` ..:}
./..:.:}.:.:./ ヘ、 ..:./ .\ ..:.:r_,ノ、.:.:}
./..:.:/|.:/ {.:./ X.:.:}.} X X
/..:.:/ .}.:| }:/ .Y丶ヽ Y.:Y
. __/.:/ { } 《.〈、 _,,__>.:》丶 Y.:\
/.:.:.:.:.::/ !.:.:ゝ ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ \.: ̄>
0856デフォルトの名無しさん
2012/02/23(木) 08:03:27.340857デフォルトの名無しさん
2012/02/23(木) 08:37:38.810858デフォルトの名無しさん
2012/02/23(木) 10:41:24.30ここの人は仕事でのみ
0859デフォルトの名無しさん
2012/02/23(木) 10:55:46.54俺は御免って感じ。
アホみたいに、コンパイラのメーカーに問い合わせしてまで取るとか。
ご苦労様。
0860デフォルトの名無しさん
2012/02/23(木) 11:13:02.97コンパイラの不具合なら問い合わせるの当然だろ。
0861デフォルトの名無しさん
2012/02/23(木) 11:24:06.54趣味レベルなら個人の好き好きでやればいいこと。
0862デフォルトの名無しさん
2012/02/23(木) 11:40:03.59なんでそんな拘るのかねぇ、いろいろ捗るのに。
0863デフォルトの名無しさん
2012/02/23(木) 11:46:02.87少し手間がかかるが警告無しのコーディングをして、自分が気づいていない修正すべき警告をコンパイラに教えて貰うか、
どっちでも好きなように。
0864デフォルトの名無しさん
2012/02/23(木) 11:50:16.30> アホみたいに、コンパイラのメーカーに問い合わせしてまで取るとか。
コンパイラメーカーに問い合わせしなきゃとれない警告ってどんなの?
もしかすると、それが「関数ポインタの宿命」ってやつ? www
0865デフォルトの名無しさん
2012/02/23(木) 12:51:27.47元気だなおまえら、仕事は大丈夫なのか?w
0866デフォルトの名無しさん
2012/02/23(木) 13:03:29.660867デフォルトの名無しさん
2012/02/23(木) 15:48:49.630868デフォルトの名無しさん
2012/02/23(木) 16:09:13.450869デフォルトの名無しさん
2012/02/23(木) 16:39:23.24よそからもってきたのとか古のコードは必要もないのに手を入れたくないから
本当に問題のある部分だけしか直さないけど。
0870デフォルトの名無しさん
2012/02/23(木) 17:56:57.79傷病手当だぉw
0871デフォルトの名無しさん
2012/02/23(木) 18:44:01.560872デフォルトの名無しさん
2012/02/23(木) 18:50:06.770873デフォルトの名無しさん
2012/02/23(木) 19:45:55.670874デフォルトの名無しさん
2012/02/24(金) 02:21:39.350875デフォルトの名無しさん
2012/02/24(金) 04:59:39.640876デフォルトの名無しさん
2012/02/24(金) 06:27:10.490877デフォルトの名無しさん
2012/02/24(金) 08:14:00.410878デフォルトの名無しさん
2012/02/24(金) 08:19:09.22お前ならわかるんじゃないか?宿命。
0879デフォルトの名無しさん
2012/02/24(金) 09:13:36.790880デフォルトの名無しさん
2012/02/24(金) 09:44:32.18http://uploader.sakura.ne.jp/src/up85527.jpg
0881デフォルトの名無しさん
2012/02/24(金) 10:27:08.580882デフォルトの名無しさん
2012/02/24(金) 12:15:07.840883デフォルトの名無しさん
2012/02/24(金) 14:15:09.03#include <stdio.h>
int min_of(const int vc[],int no)
{
int i;
int min=vc[0];
for(i=1;i<no;i++)
if(min>vc[i])
min=vc[i];
return(min);
}
int main(void)
{
#define NUMBER 5
int main (void)
{
int c[NUMBER];
int j,min;
printf("%dつの整数を入力してください",NUMBER);
for(j=0;j<NUMBER;j++){
printf("整数%d:",j+1);
scanf("%d",&c[j]);
}
min=min_of(c,NUMBER);
printf("最小値は%dです。\n",min);
return(0);
}
のエラーの原因を教えてください。
0884デフォルトの名無しさん
2012/02/24(金) 14:19:07.310885デフォルトの名無しさん
2012/02/24(金) 14:21:11.64すみません。
list0607.c: In function `main':
list0607.c:26: error: syntax error at end of input
です。
0886デフォルトの名無しさん
2012/02/24(金) 14:23:47.18int main(void)
{
が二つあるのはなぜだ?
0887デフォルトの名無しさん
2012/02/24(金) 14:25:16.00int main(void)
{
を2回書いてる
return(min);
}
int main(void) ←!!!
{ ←!!!
#define NUMBER 5
int main (void)
{
0889デフォルトの名無しさん
2012/02/24(金) 14:30:45.090890デフォルトの名無しさん
2012/02/24(金) 15:32:33.230891デフォルトの名無しさん
2012/02/24(金) 15:33:37.31はよはよ
0892デフォルトの名無しさん
2012/02/24(金) 15:51:42.180893単細胞向けの言語
2012/02/24(金) 17:53:43.510894デフォルトの名無しさん
2012/02/24(金) 17:59:00.72なんか違うことなの?
コピペの手間省いてくれるのが標準関数なんじゃねーの?
なんのためにJavaとかにあんだけのクラスあると思ってんの?
perlのクソ大量のモジュールはコピペ専用機能だろ?
お前アホの根性論主義者だからさ、
一生プログラミングには近づくなよ
業界のクズで癌で便器だからさ、
消えろよバカ
0895デフォルトの名無しさん
2012/02/24(金) 18:00:08.060896デフォルトの名無しさん
2012/02/24(金) 18:02:15.720897デフォルトの名無しさん
2012/02/24(金) 18:09:09.57でてくるのが怖すぎる
0898デフォルトの名無しさん
2012/02/24(金) 18:13:37.860899デフォルトの名無しさん
2012/02/24(金) 18:14:02.220900デフォルトの名無しさん
2012/02/24(金) 18:20:23.290901デフォルトの名無しさん
2012/02/24(金) 18:26:28.330902デフォルトの名無しさん
2012/02/24(金) 19:07:29.570903デフォルトの名無しさん
2012/02/24(金) 20:40:23.050904デフォルトの名無しさん
2012/02/25(土) 00:00:59.22unsigned char 0xfffc2
このふたつって同じ「0xfffc2番地の8ビットデータ」という
意味ではないのでしょうか
違いがわからないです
0905デフォルトの名無しさん
2012/02/25(土) 00:02:55.22下: シンタックスエラー
という大きな違いがある。
0906904
2012/02/25(土) 00:15:52.59早とちりですみません
0907デフォルトの名無しさん
2012/02/25(土) 00:28:31.830908デフォルトの名無しさん
2012/02/25(土) 00:29:50.670910デフォルトの名無しさん
2012/02/25(土) 01:02:52.95まだ分割コンパイルできないんだ。わかってやれよ。
0911デフォルトの名無しさん
2012/02/25(土) 01:17:23.15stdout
errno
のように最初から使える変数がありますが、
これらはグローバル変数ですか?
0912デフォルトの名無しさん
2012/02/25(土) 01:19:02.800913デフォルトの名無しさん
2012/02/25(土) 01:21:07.58初心者本でグローバル変数は危険、みたいな知識を植えつけられていたのでちょっと違和感でした。
0914デフォルトの名無しさん
2012/02/25(土) 01:30:13.59グローバル変数は不用意に使わないのがよい、とは言われるが
使ってはいけないものではない
グローバルに必要なものは当然グローバル変数とするのが妥当なことも多い
0915デフォルトの名無しさん
2012/02/25(土) 02:01:26.61ちゃんと設計できる人ならグローバル変数を頻繁(正しく)に使う。
0916デフォルトの名無しさん
2012/02/25(土) 02:03:57.230917デフォルトの名無しさん
2012/02/25(土) 02:07:16.240918デフォルトの名無しさん
2012/02/25(土) 02:54:54.90言いたいことはわかる。
わかるが、グローバル変数を使うことをためらわない、の間違いではないか?
0919デフォルトの名無しさん
2012/02/25(土) 04:16:13.370920デフォルトの名無しさん
2012/02/25(土) 05:04:26.950921デフォルトの名無しさん
2012/02/25(土) 05:07:23.010922UFCサプライ
2012/02/25(土) 05:10:24.47前橋の本読んでもわかんねええええええええええええええええええええええええええ
0923デフォルトの名無しさん
2012/02/25(土) 05:21:05.77ポインタを全部const で使えばこんがらがる事は無いと思うんだがな
0924デフォルトの名無しさん
2012/02/25(土) 05:55:36.240925デフォルトの名無しさん
2012/02/25(土) 08:10:19.46int index_of(char *p, int c, int *s) {
int mark;
int i = 0;
while(*p != '\0') {
if(*p == c) {
mark = i;
}
++i;
++p;
}
*s = i; /* string length */
return mark;
}
int main(void) {
const char c[] = "922 UFC 2012/02/25( ) 05:10:24.47";
const int NOT_FOUND = -1;
int place, string_length;
place = index_of( (char *)&c[0], 'U', &string_length); /* index of 'U' */
if(place != NOT_FOUND) {
printf("index of 'U' = %d\nstring length = %d\n", place, string_length);
}
return 0;
}
0926925
2012/02/25(土) 08:31:52.89int index_of(char *p, int c, int *s) {
int mark = -1;
int i = 0;
while(*p != '\0') {
if(*p == c) {
mark = i;
}
++i;
++p;
}
*s = i; /* string length */
return mark;
}
int main(void) {
const char c[] = "922 UFC 2012/02/25( ) 05:10:24.47";
const int NOT_FOUND = -1;
int place, string_length;
place = index_of( (char *)&c[0], 'x', &string_length); /* index of 'U' */
if(place != NOT_FOUND) {
printf("index of 'U' = %d\nstring length = %d\n", place, string_length);
}
return 0;
}
0927デフォルトの名無しさん
2012/02/25(土) 09:14:06.980928デフォルトの名無しさん
2012/02/25(土) 09:33:14.82宿命!?
0929デフォルトの名無しさん
2012/02/25(土) 09:37:47.540930デフォルトの名無しさん
2012/02/25(土) 09:46:54.270931デフォルトの名無しさん
2012/02/25(土) 10:29:04.14いいじゃん。C#とかjava,delphi,VBとかいろいろあるじゃん。
君の将来は明るいよ。
0932デフォルトの名無しさん
2012/02/25(土) 10:43:50.450933デフォルトの名無しさん
2012/02/25(土) 10:44:04.21ttp://codepad.org/kfURBI02
0934デフォルトの名無しさん
2012/02/25(土) 11:02:03.26stdin, stdoutあたりはともかく、errnoは失敗だからマネすんなよ。
0935デフォルトの名無しさん
2012/02/25(土) 12:36:20.14setCameraDistance(btScalar(SCALING*50.));
というのがあったんですが、
50の右の . ってプログラム上の作用はないすですよね?
小数点以下のない整数だという意味を強調して
書かれているのでしょうか?
あとbtっていうプレフィックスって何ですか?
0936デフォルトの名無しさん
2012/02/25(土) 12:45:50.190937デフォルトの名無しさん
2012/02/25(土) 12:50:44.43btScalar()がプロトタイプなしでコールされていて、SCALINGが整数だったら挙動が違ってくるな。
普通はプロトタイプありだから、結果、. はあってもなくても同じになるな。
0938デフォルトの名無しさん
2012/02/25(土) 12:56:56.47.つけるつけないで変わるんじゃね
0939デフォルトの名無しさん
2012/02/25(土) 13:04:59.98回答ありがとうございます。
そもそも数字の後につく . には、どのような意味があるのでしょうか?
付けるとfloat扱いになるとか?
0941デフォルトの名無しさん
2012/02/25(土) 13:12:07.28スレッド別変数がサポートされてる必要があるけど、すごい使いやすいと思うのに
0942デフォルトの名無しさん
2012/02/25(土) 13:12:51.88つけるとdoubleになる。
0943デフォルトの名無しさん
2012/02/25(土) 13:13:37.970944デフォルトの名無しさん
2012/02/25(土) 13:15:35.82C以降のメジャーな言語でエラーの種類をグローバル変数で返してるのってないから、
使いやすいって思ってるのは小数派なのでは?
0945デフォルトの名無しさん
2012/02/25(土) 13:25:09.88ありがとうございました。
0946デフォルトの名無しさん
2012/02/25(土) 13:56:40.58いえいえ
0947デフォルトの名無しさん
2012/02/25(土) 14:31:57.22なんとまぁ浅はかな
0948デフォルトの名無しさん
2012/02/25(土) 14:34:31.040949デフォルトの名無しさん
2012/02/25(土) 14:38:57.380950デフォルトの名無しさん
2012/02/25(土) 14:42:21.740951デフォルトの名無しさん
2012/02/25(土) 14:50:31.77そうかな?ああ、GetLastError などで間接的に取得してるのも含めて考えてたすまない
WinAPI の GetLastError、VB の Err、PHP/MySQL の mysql_error、…
まあ最近は例外が主力なのかなぁ
0952デフォルトの名無しさん
2012/02/25(土) 14:52:15.240953デフォルトの名無しさん
2012/02/25(土) 14:57:20.32VBとかPHPで使われてるって聞くと、よけいセンスのない方法なんだなって印象になるな。
0954デフォルトの名無しさん
2012/02/25(土) 15:02:56.17VBはよく知らんがPHPはlibcのラッパーだから
0955デフォルトの名無しさん
2012/02/25(土) 15:06:22.03見つけました。
0956デフォルトの名無しさん
2012/02/25(土) 16:40:08.49Cの方式を踏襲してるんだろうな。
errno方式を採用してるのって、Cかそれの影響を受けたOSやライブラリかもしくはVB。
あんまり現代的ではないな。
0957デフォルトの名無しさん
2012/02/25(土) 17:00:09.69うん
0958デフォルトの名無しさん
2012/02/25(土) 19:58:42.32int main(void)
{
int i=0;
printf("%d,%d,%d,%d,%d",i);
return 0;
}
0959デフォルトの名無しさん
2012/02/25(土) 21:04:58.58あったんですか?例えばCとか。
0960デフォルトの名無しさん
2012/02/25(土) 21:08:58.60windos上でVCで作ったC言語のプログラムで実現したいんですけど
getoptに変わる処理としてはどうやるのが定石ですか
0961デフォルトの名無しさん
2012/02/25(土) 21:14:46.15で検索
0962デフォルトの名無しさん
2012/02/25(土) 21:23:21.770963デフォルトの名無しさん
2012/02/25(土) 21:35:25.67そこらへんのライブラリはひとそろいあるんじゃネーノ?
そうじゃあないソフト会社なんてクソだぞ?
それともお前はぶられてるから
そのライブラリ先輩とかに貰ってないとか……
そういう悲しい事情でもあんの?
0964デフォルトの名無しさん
2012/02/25(土) 21:40:20.990965デフォルトの名無しさん
2012/02/25(土) 21:43:25.42http://www.pwilson.net/sample.html
getopt for windows
http://note.sonots.com/Comp/CompLang/cpp/getopt.html
0966デフォルトの名無しさん
2012/02/25(土) 21:50:48.74ROM BASICというのがあった。
0967デフォルトの名無しさん
2012/02/25(土) 21:53:13.51#include <stdio.h>
int main()
{
char s[ ] = "AB";
char *p = "12";
printf ("%s",s);
printf ("%s",p);
return 0;
}
このときC言語のルールとして
ルール1、文字列リテラルを評価すると先頭文字へのポインタとなる。
つまりこういうことでしょうか? char s[ ] = &'A';
ルール2、添字演算子[ ]なしの配列はその先頭へのポインタとなる。
つまりこういうことでしょうか? printf ("%s",&'1');
それとポインタは printf ("%s",*p); みたいに * がないと、エイリアスにならないと思うのですが
プログラム自体はあっています、すみませんがしくみというかこういう理解で合っているのかどなたか教えてください
0968デフォルトの名無しさん
2012/02/25(土) 21:54:17.43両方間違ってる
0969デフォルトの名無しさん
2012/02/25(土) 22:01:43.12違う。
> char s[ ] = "AB";
= の右は初期化子と呼ばれていて通常の式ではない。
> ルール2、添字演算子[ ]なしの配列はその先頭へのポインタとなる。
これも違う。ポインタではなくアドレス。
ポインタならばa = NULL;が許される。
0970デフォルトの名無しさん
2012/02/25(土) 22:02:39.94書き換え可能な領域にAB\0が確保されてその先頭アドレスがsにセットされる
char *p = "12";
書き換え不可能なReadOnlyの領域に12\0が確保されてその先頭アドレスがpにセットされる
コンパイラの人がそうやると決めてやってるからとしか
0971デフォルトの名無しさん
2012/02/25(土) 22:03:43.20int i = 0 ;
for (;i<7;i++) {
printf ("%c ", "abcdefg"[i]) ;
}
}
こういうクソまみれのコードも書ける
0972デフォルトの名無しさん
2012/02/25(土) 22:05:15.19先の方ちげーよ
0973デフォルトの名無しさん
2012/02/25(土) 22:09:26.54ルール1,ルール2とも文章自体はあっているぞ。
>ポインタではなくアドレス。
C言語的には「アドレス」などという概念は無い。
(その割には単項&演算子はアドレス演算子などと呼ばれたりするが、、、)
>ポインタならばa = NULL;が許される。
これは単に配列が代入可能な左辺値ではないからでしょ。
0974デフォルトの名無しさん
2012/02/25(土) 22:09:57.08まずルール1は初期化なので代入ではないから、
評価されないという理解で正しかったでしょうか
0975デフォルトの名無しさん
2012/02/25(土) 22:11:15.60珍説ktkr
0976デフォルトの名無しさん
2012/02/25(土) 22:11:53.93sは配列で、何かがセットされるものじゃない。
0977デフォルトの名無しさん
2012/02/25(土) 22:13:08.11ルール1,ルール2の文章は合っているが、その解釈が間違いすぎていて
訂正もしようがない。
>それとポインタは printf ("%s",*p); みたいに * がないと、エイリアスにならないと思うのですが
エイリアスという言葉を、どういう意味で使用しているかわかりませんが、
サンプルコードで言えば
printf ("%s",p);で合っていますよ。
%sに対応する変数の型はchar *で、かつNUL文字で終端されている必要があります。
0978デフォルトの名無しさん
2012/02/25(土) 22:15:34.24文法書を読むことを勧める
char a[] = "abc":
は
char a[] = {'a', 'b', 'c', 0};
と同じ。初期化は式はなくこういう記述もできる。
0979デフォルトの名無しさん
2012/02/25(土) 22:16:22.250980デフォルトの名無しさん
2012/02/25(土) 22:20:40.47ひとまずもっと考えてみます、どうもありがとうございます
0981デフォルトの名無しさん
2012/02/25(土) 22:24:34.98いえいえ
0982デフォルトの名無しさん
2012/02/25(土) 22:27:30.330983デフォルトの名無しさん
2012/02/25(土) 22:28:04.360984デフォルトの名無しさん
2012/02/25(土) 22:28:33.29どっちも同じ。
0985デフォルトの名無しさん
2012/02/25(土) 22:28:38.570986デフォルトの名無しさん
2012/02/25(土) 22:31:14.89char *a = "abc"; と比べての話。
0987デフォルトの名無しさん
2012/02/25(土) 22:32:03.16それからchar *p = "12"はグローバル変数じゃないから。
0988デフォルトの名無しさん
2012/02/25(土) 22:32:30.17質問者がクローズ宣言してるんだからわざわざ出しゃばらなくてもいいのに。
0989デフォルトの名無しさん
2012/02/25(土) 22:33:19.750990デフォルトの名無しさん
2012/02/25(土) 22:33:40.820991デフォルトの名無しさん
2012/02/25(土) 22:33:56.55「C実践プログラミング」 でCの文法、make、gdbなど、基礎を習得
↓
「C言語ポインタ完全制覇」 or 「秘伝C言語問答 ポインタ編」 でポインタに関して完全理解する
↓
「エキスパートCプログラミング―知られざるCの深層」 でスタック、ヒープ、リンカ、ローダなど周辺知識を習得
↓
「C言語によるオブジェクト指向プログラミング入門」 で大規模プログラムの作り方を学ぶ
↓
「C言語デバッグ完全解説」でバグに強いプログラムの記述法をマスター
↓
「Code Complete(上)(下)」でより良いC言語プログラムとは何かを各人で考察する
↓
神の誕生
0992デフォルトの名無しさん
2012/02/25(土) 22:34:29.700994デフォルトの名無しさん
2012/02/25(土) 22:35:37.110995デフォルトの名無しさん
2012/02/25(土) 22:36:09.15かんすう()
{
char c = 'A';
char s[] = "abc";
s[4] = 'Z';
0996デフォルトの名無しさん
2012/02/25(土) 22:37:33.360997デフォルトの名無しさん
2012/02/25(土) 22:37:38.770998デフォルトの名無しさん
2012/02/25(土) 22:37:59.470999デフォルトの名無しさん
2012/02/25(土) 22:38:34.391000デフォルトの名無しさん
2012/02/25(土) 22:38:41.9010011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。