C言語なら俺に聞け! Part 59
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNG質問する前には最低限検索を。
GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo! (←ここ注目)
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
コンパイラを探しているなら >>2-13 を。
C machineはCに非ず
上記を逸した場合の結果は激しく未定義だYO!
C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
前スレ C言語なら俺に聞け! Part 〈58〉
http://pc2.2ch.net/test/read.cgi/tech/1054906871/
0002デフォルトの名無しさん
NGNGgcc
http://gcc.gnu.org/
【Win32用の開発環境のみ。】
gcc-cygwin
http://www.redhat.com/software/tools/cygwin/
gcc-mingw
http://www.mingw.org
Digital Mars C++
http://www.digitalmars.com/
Open Watcom
http://www.openwatcom.com/
Borland C++ Compiler 5.5.1
http://www.borland.co.jp/cppbuilder/freecompiler/
【ライセンスや機能などに問題あり】
Microsot C/C++ 13.0.9466(VC.NET)
http://www.microsoft.com/japan/msdn/netframework/downloads/
LCC-Win32
http://www.cs.virginia.edu/~lcc-win32/
CINT
http://root.cern.ch/root/Cint.html
めじろ++98
http://www.vector.co.jp/soft/win95/prog/se075910.html
0003デフォルトの名無しさん
NGNG【ライセンスや機能などに問題あり】
って、それぞれ、何処に、どんな問題があるの?
0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG乙
0006デフォルトの名無しさん
NGNG乙99
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG今考えたの?
それとも前からあるネタ?
0009デフォルトの名無しさん
NGNGそれぞれ調べてくれ
そしたら、次のスレからテンプレに書き込める
0010デフォルトの名無しさん
NGNG入力ファイルがないね。
これでどや?
gcc -O2 kare.c >>1.log
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG下がるわけではない。
0014デフォルトの名無しさん
NGNG漏れが>>8を書いた直後にスレが上がって無かったし
(すでに>>9までは書き込まれていたのも確認済み)
後から書いたスレの方がタイムスタンプが若かった事もあったので
タイミングによっては、上がらない事もあるのかと思って>>11を書いたの
でも、上がって無かったのは、その時だけだったようで>>12…(略
0015おしえてください
NGNG実際の話、Cってそんなに難しいんですか?実を言うと、別会社でJavaをやっていました。
でも、どしょっぱつから、3人のプログラマーの一番偉いところをまかされて、いやになり、やめました。
他のスレには、市販で売っている(私が呼んだような入門書)を理解できていれば、Cで組めるものは、何でも組めると書いてありました。
それは、極端な例だと思いますが、実際のところ、C言語って、そんなに難しいのですか?
0016デフォルトの名無しさん
NGNG難しくはない、と思う。確かにクセはあるけど。
絶えず今扱ってるこのブツはメモリ上でどう表現されるかを
意識しながらプログラムすればそんなに難しくない。
ただし、Javaと違って危険な操作からプログラマを守ってくれないので(OSが守ってくれる場合もある)、
間違ってそういう操作をしてしまったらとたんにデバッグが泥沼になることがある。
この辺が厄介といえば厄介かな。
001716
NGNGあと細かいことができる代わりにプログラマがかなりの部分の
面倒を見てやらなきゃいけない。たとえばヒープに取ったメモリ(malloc等)は
プログラマがケアしてやらなきゃいけない。
Javaみたいにガベージコレクションをしてくれないので、すぐにメモリがリークする。
ま、標準ではないもののGCのライブラリはあるんでそっちを使えば楽できるけど。
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNGどんな言語使ってもバグった時に困る
0020おしえてください
NGNG前スレで、scanfについて質問したのですが、scanfだけで、
もっとCは深いみたいな、レスがたくさんついていたので、
不安になってしまいました。
中には、標準入力からの関数は自作するなんてレスまでありましたが、
標準入力関数を自作するなんてことはできるんですか?それとも、既存の関数を拡張して
作ると言う事なんでしょうか?
0021デフォルトの名無しさん
NGNG使用言語がブラックボックスの塊だったらバグった時に困る
0022_
NGNG0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNGそうなんだよ。VBとかさ。
煽るわけじゃないけどたまにどうしようもない時がある
さんざん調べたらIEのバグだったりしてションボリ
0025デフォルトの名無しさん
NGNGscanf()系は基本的にフォーマットされたデータを処理する為にあるので
文字列の解釈や代入に使うべきではないです
と言うか、それを無闇に使ってバグを起こすから
使ってはいけないと言われている訳であって…
後は、周囲の人と適当に合わせて使うか使わないか判断すればOKです
まぁ、他人と合わせると殆どの場合は使わない方にいくと思いますが…
0026おしえてください
NGNGでは、仕事で標準入力関数を使うときは、どうしているのですか?
まさか、アセンブラみたいな感じで、自分で作るんですか?そんなに難しいなら、
とても無理だと思います。既存の関数を拡張して、標準入力関数を作るんですか?
0027デフォルトの名無しさん
NGNG結局IEのバグじゃん。
0028デフォルトの名無しさん
NGNG>プログラマがケアしてやらなきゃいけない。
>Javaみたいにガベージコレクションをしてくれないので、すぐにメモリがリークする。
突っ込みどころ満載だな。
本当にCで仕事してるのかね。
0029デフォルトの名無しさん
NGNG入力関数はscanfだけじゃないよ。
0030デフォルトの名無しさん
NGNG例えばscanf("%d",&n)はおきまりのfgets+sscanfで
0031デフォルトの名無しさん
NGNG突っ込みどころがあるなら突っ込めよ。
0032おしえてください
NGNGやはり、元からある関数を使うんですね。それを聞いて、とても安心しました。
自分で、ゼロからつくるのか!?と思ってしまい、こりゃとてもじゃないぞ、と思っていたのです。
それと、回答をくれた皆さん、どうもありがとうございました。おかげさまで、何とかやっていけそうです。
0033デフォルトの名無しさん
NGNGあんまり難しいのは分かりませんが・・
0035デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1055944101/l50
0036デフォルトの名無しさん
NGNG宿題スレにあるのを片っ端からやってみれば?
0037デフォルトの名無しさん
NGNG素直に謝るのが一番です。
0038デフォルトの名無しさん
NGNGよう分からんけど
void *p1,*p2,*p3;
p1=malloc(…);
p2=malloc(…);
p3=malloc(…);
:
free(p2); //解放しても使えない
って意味だと思う
つーか、俺も別におかしくないと思うけど?
0039デフォルトの名無しさん
NGNGその結論に行くまでがとてもとても苦労するのよ
0040デフォルトの名無しさん
NGNGは何につっこみたいんだ?
普通のこと言ってるだけだろ
0041デフォルトの名無しさん
NGNGvoid *p;
p=malloc(...);
.....
p=malloc(...);
free(p);
これの方がいいと思う。先に確保した領域を見失ってメモリリーク
0042デフォルトの名無しさん
NGNGhttp://yahooo.s2.x-beat.com/linkvp/linkvp.html
-----------------------------------------------
004316
NGNGscanfは変な動作をすることで有名な関数でプロは使わないというのは前スレの通り。
存在理由は昔書かれたプログラムとの互換性を取るためでしかない。
確かに便利な関数なので入門書ではよく使われるけどね。
他にもプロが使わないとされてる標準関数はgets(これは異論があるかも)、strtokがある。
前者はバッファオーバーフローの危険があるし、後者はバッファを破壊するから。
ま、どちらも使い捨てのプログラムでは使うこともあるけど、製品レベルでは使わない。
ちなみにこれらも存在理由は互換性のため。
標準入力関数を一から自作することは、いわゆる標準Cの範疇ではまず無理。
OSとのインタフェイスはCの規格の範囲外だから。
ただし、getcharやfgetsをベースにしてよいのであれば作れるよ。
だから既存の関数を拡張して作るという意味では作れる。
Cは深いといえば深いのかもしれないけど、言語仕様そのものは小さいので、
文法自体はさほど難しくはない。Javaを使ってたのならその辺はまず問題ない。
# つーてもポインタ・配列・関数ポインタの宣言周囲りの変な構文はあるなあ。あれは癌だ。
# パズルとしては面白かったけど。
0045デフォルトの名無しさん
NGNG>たとえばヒープに取ったメモリ(malloc等)は
>プログラマが開放してやらなきゃいけない。
>Javaみたいにガベージコレクションが不要メモリの開放をしてくれないので、
>すぐにメモリリークが起こる。
とか言いたいんだろうけど、そんなもんわざわざ突っ込んでたら
円滑なコミュニケーションがとれんぞ。
言いたい事は伝わってるだろう。
0046デフォルトの名無しさん
NGNGできないできないと言っているが、
じゃあ何を使って作るのだ?
たとえばintを入力する場合どのように書くのだ?
手抜き無しの安全なコードで頼む。
0047デフォルトの名無しさん
NGNGほんとだよ。バカ!
004828
NGNG大幅に間違ったことはいってないが、正しいことも言ってない。
初心者が聞いたら誤解をまねくし、問題の本質をついてない。
0049デフォルトの名無しさん
NGNG28ではないが、17の文章は
メモリがプログラマは悪くないのに勝手にリークするような感じを受ける。
005016
NGNGそういう意味なのかな…。わざと解放しない場合もあるよ。
だから解放するとかfreeするとか書かないで「ケアする」と書いたんだけど。
# つか、これに触れると変な箱の議論になりそうなんであとは静観しよう
0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNG何か懐かしいな…
その議論(標準入出力ネタ)、漏れ、何年か前に、この板でやった事あるよ
つーわけで、生暖かく見守ってあげるので、心おきなく争って下さい
0053デフォルトの名無しさん
NGNGその時は、どう解決したの?
0054デフォルトの名無しさん
NGNG>大幅に間違ったことはいってないが、正しいことも言ってない。
そういうのは「突っ込みどころ満載」とは言わんよ。
だったら正しい問題の認識を提示してやればいいのに
0056デフォルトの名無しさん
NGNG005728
NGNG005845
NGNG0059おしえてください
NGNGどうも、大変分かりやすくて助かりました。Javaとそのへんは、あまり変わりないと聞いて、
あんしんしました。
0060デフォルトの名無しさん
NGNG馬鹿教本は纏めていってよし。「無用」じゃなくて「負担が
少ない」だけなのにね。
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNG相手方が標準入出力を特定のメモリの位置にすれば出来ると抜かして
(つまり、stdout or stdin を特定の位置に決めてしまう)
漏れは馬鹿馬鹿しくなったので、その時点で降りました
言うまでも、ありませんが、相手方が言ってる事は
Cコンパイラを作る事であって標準入出力を作る事では無い
0065デフォルトの名無しさん
NGNGハに゙をお忘れのようで。
0066デフォルトの名無しさん
NGNGアセンブラ
0067デフォルトの名無しさん
NGNG質問の意味がわかりません
0068デフォルトの名無しさん
NGNGint i;
fread(&i,sizeof(int),1,stdin);
0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNGはいはい、分かったから、がんがって作ってみ
0071デフォルトの名無しさん
NGNGする香具師はいないのか?
0072デフォルトの名無しさん
NGNG世の中出来る事と出来ない事がある
で、出来ない事を出来ると言う香具師に限って証拠は見せない
ちなみに、何作らせたいの?
0073デフォルトの名無しさん
NGNG文字列を連結する関数をお願いします・・・
月曜日までの課題なんです(>_<)
0074デフォルトの名無しさん
NGNGそりゃスレ違いだ。
0075デフォルトの名無しさん
NGNG#include <string.h>
#define renketsu(dst,src) strcat(dst,src)
0077デフォルトの名無しさん
NGNGrenketu( char *str_a, char *str_b ){
strcat(str_a,str_b);
}
007873
NGNG0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNG文字列の連結くらい、幾らでもあると思うけど
何で、そんなに早く見つけられるんだろう…
さては、おまいさん、タイ○(以下スレ違いの為、割愛)
0081デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNGまちがっても
*p++とか書いてはいけない
0083デフォルトの名無しさん
NGNG{
strcpy(strchr(dest,'\0'),src);
return dest;
}
0084デフォルトの名無しさん
NGNGrenketu( char *str_a, char *str_b ){
strcpy( str_a+strlen(str_a), str_b);
}
0085デフォルトの名無しさん
NGNG俺ならstrchr()の変わりにstrlen()を使う
まぁ、特に、と言うか、全く意味無いけど
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNGsize_t strlen( char *src )
{
size_t ret=0;
while(src[ret]!='\0')ret++;
return ret;
}
char *strcpy( char *dst, const char *src )
{
size_t cnt=0;
while((dst[cnt]=src[cnt])!='\0')cnt++;
return dst;
}
0089デフォルトの名無しさん
NGNGスレ違いの質問なのに。
0090デフォルトの名無しさん
NGNG009188
NGNGstrlen( const char *src )が…
パッと見た目だけで、こんなにもミスが…
0092デフォルトの名無しさん
NGNG変数の寿命はわかるんですが(例えばローカル関数なら
returnされるまで)、定数の寿命も同じなんですか?
void func(*char)
{
char = "2ch";
}
これはNG?
0093デフォルトの名無しさん
NGNGそれよりもつけないとconstを指すポインタを(そのままでは)渡せなくなるんだよね。
これを指摘された時は目から鱗が落ちた。
0094デフォルトの名無しさん
NGNGNG
変数名は?charにポインタは入れられないよ
0095デフォルトの名無しさん
NGNG0096デフォルトの名無しさん
NGNG寿命以前の問題なんだが
009792
NGNGこうですた。
void func(*char str)
{
str = "2ch";
}
009892
NGNGvoid func(char* str)
{
str = "2ch";
}
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNG*の場所がおかしい
strには"2ch"の先頭アドレスが入るけど、それではなんの意味もない。
void func(char **str)
{
*str="2ch";
}
0102デフォルトの名無しさん
NGNGプログラム開始から終了まで
0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNGというか、ずっと。
あと、リテラル文字列を変更されて欲しくないので
void func(const char **str)
{
*str="2ch";
}
として欲すぃ。
0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNGどっかに"2ch"と書かれた領域があって、
funcに突入したときにstrがその領域を指すように初期化される。
で、funcを抜けたとき
・"2ch"と書かれた領域はそのまま存在する。
・strそのものは寿命がなくなる
君の言ってる「ポインタ」が"2ch"が書かれた領域のアドレスのことなのか
strそのもののことなのか判然としない。前者ならプログラム開始から終了まで、
後者ならfuncに突入した直後からreturnするまで。
0107デフォルトの名無しさん
NGNG010892
NGNGむーそうなるんですか。
*が2つ出てくるとちょっと難しいっす。じゃfuncを呼び出す側は
char *str[100];
func(str);
printf(str);
なんでしょうか。
>>102
そうなんですか。定数はどこに登場させても
プログラム開始時には領域を持っているのですか?
それとも領域が確保されるのはその関数が呼ばれた時だけど、
スタック領域に積まれるわけではないということですか?
0109デフォルトの名無しさん
NGNGでも
str=func();
でも良いけど
str=DEFINED_2CH;
が良いと思う
0110デフォルトの名無しさん
NGNGそれじゃポインタの配列でしょ。
char *str;
func(&str);
ポインタのアドレスを渡すの。
0111デフォルトの名無しさん
NGNG> スタック領域に積ま
自動変数じゃないもん
#自動変数がスタックに積まれると決まっているわけじゃないというつっこみは勘弁
0112デフォルトの名無しさん
NGNGchar str[100];
func(&str);
printf("%s\n",str);
0113デフォルトの名無しさん
NGNG配列?
0114デフォルトの名無しさん
NGNG「そのポインタは今どこを指してるのか」を意識しながら考えたほうがいいぞ
0115デフォルトの名無しさん
NGNGその例ではそうだけどね...。
0116112
NGNG011792
NGNGもう少し考えて出直してきます。
0118デフォルトの名無しさん
NGNG一体何をつくっているの?
多分もっとよい方法があると思うんだけど・・・・
0119デフォルトの名無しさん
NGNGvoid(char *str)
{
strcpy(str,"2CH");//文字列は直接代入出来ない
}
char str[100];
func(str);
printf("%s",str);
0120デフォルトの名無しさん
NGNG作ってるものが分からないのに、
よい方法があるとか言うな!
0122デフォルトの名無しさん
NGNG少なくとも戻り値 void な状況で
こういうことをする必然性はないのぅ。
戻り値が別にあるのであれば、
こういうことをすることもあるかもしれんが。
0123デフォルトの名無しさん
NGNG本当だ(T_T)
>>121
0124デフォルトの名無しさん
NGNG012592
NGNG>そうなんですか。定数はどこに登場させても
>プログラム開始時には領域を持っているのですか?
これに関してはどうなんでしょうか?
ものすごい見当はずれな疑問だったらすみません。
0126デフォルトの名無しさん
NGNGあるの? C99準拠コンパイラ
0127デフォルトの名無しさん
NGNGで、読みとり専用だったりすると書き換えようとしてあぼーん
しったかで書いているんだけど・・・
0128デフォルトの名無しさん
NGNG012992
NGNGということで、見ました。
funcが呼ばれる前に "2ch"が既にあるようです。
0130デフォルトの名無しさん
NGNGコンパイラ依存だったと思う
例えば"2CH"なら'\0'まで含めて4バイトなので
ものによっては、そのまま即値データと置かれてる可能性もあるし
>>127さんの言われるとおり、
読取り専用(なければ読み書き)のデータ領域の可能性もあるし
奇想天外な方法で確保している可能性も否定できない
(間違ってたらスマソ)
0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNGそう言われれば、そんな気がしなくもない…
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG0135デフォルトの名無しさん
NGNG013692
NGNGchar* str;
ってのは、charへのポインタを格納する変数だから
そのアドレスを渡すのだね。
だから当然、funcでは引数は **strだし、代入するには
その引数の中身(アドレス値)である *strなんだ!
ひとりレベルの低いレスですまんこ。
0137デフォルトの名無しさん
NGNG実装依存と処理系依存は意味違くない?自信ないけど
0138デフォルトの名無しさん
NGNGデータセグメントはCPUが扱っているものだから処理系依存
(x86系だとCS,DS,ES,SS等々ありますが、DSが存在するかは処理系依存)
で、実際に<どうやってリテラルを保存するのか決めるのは
コンパイラだから実装依存
0139デフォルトの名無しさん
NGNG6.2.4.3 ... 静的オブジェクトはプログラム実行中つねに存在し
スタートアップに先立って初期化される。
6.4.5.5 ... (文字列定数は)静的な配列として
文字列を格納するのに適切なサイズで初期化される。 ...
0140デフォルトの名無しさん
NGNGデータセグメントはCPUが扱っているものだから処理系依存
(x86系だとCS,DS,ES,SS等々ありますが、
DSが存在するかは、そのCPUに依るので処理系依存)
で、実際に、リテラルを保存するのはコンパイラだから実装依存
0141デフォルトの名無しさん
NGNGちょうどstrtolの第二引数がそんな感じ。
0142デフォルトの名無しさん
NGNGクラスの種類を文字列定数のアドレスで判断してたら
STLのVECTORでクラス作ったら文字列定数のアドレス変わってたんだけどそういうもんですか?
ちなみに判断するときは
return "C2ch";
ってやって返ってきたアドレスで
if(GetName() == "C2ch")
とかやってます。
0143デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1055162298/
0144デフォルトの名無しさん
NGNG同じ文字列リテラルが区別されるかどうかは処理系依存だから、
vector云々関係なくそのコードはまずい。
0145デフォルトの名無しさん
NGNG未だC++に移行できないウニクス野郎ばかりだからだろうか・・・
0146デフォルトの名無しさん
NGNG0 → C → C++
↓ ↓
脱落 脱落
的なことになるからじゃねーの?
0147デフォルトの名無しさん
NGNG人生の敗北者では使えないC++
0148デフォルトの名無しさん
NGNG"C2ch" ってリテラルは 1 つだけとは限らない。
んな事いう香具師もいるのか。
頼むから業務系で頑張ってくれ。
0149デフォルトの名無しさん
NGNGC++の話になるけどとか言いながら話し始める142の神経が信じられない。
0150デフォルトの名無しさん
NGNGアドレス比較はscanfと同類か?
0151デフォルトの名無しさん
NGNGアンタの頭の中では同類なのか?
0152デフォルトの名無しさん
NGNG嫌いになりそうなものってとこに共通点があるような気がしたんだ
0153デフォルトの名無しさん
NGNG>>140がとにかくイタい。
知ったかはいかんのだよ、知ったかは…
0154デフォルトの名無しさん
NGNG貴方のお店&サイトを効果的に宣伝できます!
お店の足取りが悪い・・・。私のサイトにはあまり人が来ない・・・。などお悩みの方は、
ぜひおすすめです。手軽&簡単しかも日本中に宣伝できますので、
大幅なアクセスアップが期待できます。
[料金について]
1日110円で宣伝&クーポン券の発行が出来ます。
年間契約で申込された場合、40,000円になります。
6ヶ月契約で申込された場合、25,200円になります。
3ヶ月契約で申込された場合、12,600円になります。
http://www.c-gmf.com/h17103.htm(ビジネスパートナーも募集中。稼げます!)
ぜひ一度お試しになってみてはいかがでしょうか?
0155ひよこ名無しさん
NGNGキタ━━━━━━━━━━━━━━(゚∀゚)━━━━━━━━━━━━━━━!!!!
http://diary4.cgiboy.com/0/izuminoa/
0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNG1文字でもアルファベットや記号などを含んでいたらとりあえず0を返すような
関数を作りたいのですが、どのやり方が一番効率がいいのでしょうか?
atoiだと"12a"と入れても12と返って来てしまうので困っています。
やはり1文字1文字解析しながら条件分岐などさせて変換するしかないでしょうか?
0158デフォルトの名無しさん
NGNGvoid foo()
{
char str[] = "2ch";
}
とした場合、str は foo に入る度に初期化される。
このとき、文字列リテラルを4バイトの即値として扱って
str を初期化するように最適化される場合がある。
確か VC++ 6.0 でそうなってるのを見た気がする。
もちろん、アドレスをとらないといけないような場合は
そういうことはしないと思うけど。
0159デフォルトの名無しさん
NGNGif (!isdigit(*s)) return 0;
return atoi(t);
0160デフォルトの名無しさん
NGNGisdigit で確認しつつ一文字ずつ解析しながら
自分で変換するのが一番いいかと。
面倒なら、isdigit で全体が数値のみで構成されてる事を確認して、
あとは atoi 使って変換したのでもいい。
実行速度効率的には二度手間だけど、
コーディングの手間としてはこっちの方が楽かも。
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNGこんなかんじでできないかな?
0163デフォルトの名無しさん
NGNGこうか?
0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNG0166165
NGNG0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNG先頭の符号や空白はOKならばstrtolを使え。
long func(char *s)
{
long n;
char *endp;
n=strtol(s,&endp,10);
return *endp?0L:n;
}
0169168
NGNG0170デフォルトの名無しさん
NGNGこんな感じになりましたがどうでしょうか?一応動きます。
標準関数知らなすぎました(汗)。
int main()
{
char buf[15];
int ch = '\n';
fgets(buf, sizeof(buf), stdin);
if(strchr(buf, ch) == NULL){
fprintf(stderr, "バッファを越えました\n");
exit(1);
}
buf[strlen(buf)-1] = '\0';
printf("%d\n", convertInt(buf));
return 0;
}
int convertInt(char *string)
{
char *s;
for (s = string; *s; s++){
if (!isdigit(*s))
return 0;
}
return atoi(string);
}
0171デフォルトの名無しさん
NGNG負の数は扱えないでつね
0172デフォルトの名無しさん
NGNGhttp://endou.kir.jp/yuminet/link.html
0173デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1056109884/
0174デフォルトの名無しさん
NGNGラインエディタで行数指定して行の追加、削除などを考えているので
負の数は一応使わないということで0を返すように統一してあります。
0175デフォルトの名無しさん
NGNGULONGLONG ull;
char s1[50];
ull = ( ULONGLONG ) ~0;
wsprint( s1, "%u", ull );
で変換すると、s1 は「4294967295」で、UINT 型の最大値が表示されてしまいます。
デバッグで見ると、ull はちゃんと ULONGLONG 値の最大値が入っている…
どなたか知っている方、お願いいたします。
もちろん sizeof( ULONGLONG ) の値は 8 です。
OS:Windows98 SE
0176デフォルトの名無しさん
NGNGならエラー値は負数にすればいいのに・・・
0177デフォルトの名無しさん
NGNGスレ違い・・・・
long longならスレ違いでもないんだけど。
0178デフォルトの名無しさん
NGNG最後の1行がワラタ
0180デフォルトの名無しさん
NGNG違いますが
ULONGLONGや__int64なんて型は標準にはないんだからここで聞くのはスレ違い。
そんなものコンパイラのマニュアルのprintfのページに載っていると思うけど。
0181デフォルトの名無しさん
NGNG0182デフォルトの名無しさん
NGNGなにこれ?
0183デフォルトの名無しさん
NGNG意味ないけど文字列の終わりの'\0'の'\0'を載っけたいんだろ?
それにこうじゃねーの?
buf[strlen(&buf)-1] = '\0';
0184デフォルトの名無しさん
NGNG多分fgetsで書き込まれた改行文字を取り除きたいんだと思う。
>>183
(-_-;)
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNG意味あるだろ。
strlenが何を返すか考えろ。
たとえばbufが空の文字列だったときとか。
0187デフォルトの名無しさん
NGNGbufが空文字列ということはありえない。ちょっと上のifを見れば分かる。
0189デフォルトの名無しさん
NGNGstrchr(buf, '\n')と直接\nを書いた方がいいと思う。
0190デフォルトの名無しさん
NGNGif (!p) ...
*p = '\0';
0191デフォルトの名無しさん
NGNG確かに。プログラム全体に関わるかもしれないので考え直します。
>189
一回しか使ってないのでそのほうがよさそうですね。
やっぱり何も入力しないでEnter押したときはconvertIntに渡さないで
事前にチェックしてexitとかしたほうがいいでしょうか?
0192175
NGNGレスサンクス
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNG%u = unsigned int
%lu = unsigned long int
%llu = unsigned long long int (C99)
0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNGVC++なら__int64は%I64d
0198デフォルトの名無しさん
NGNG特にexeファイルを解析したいです、どうすればよいでしょうか?
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNG以下のようなエラーメッセージが出てコンパイルできません。
原因も全然分かりません。誰か教えてください。助けてー!!!
"lcc: can't exec: cpp: No such file or directory"
0202デフォルトの名無しさん
NGNGまずgccをダウンロードしてきてください。
0203デフォルトの名無しさん
NGNGどこでダウンロードできるんですか?
0204デフォルトの名無しさん
NGNGhttp://endou.kir.jp/yuminet/link.html
0205デフォルトの名無しさん
NGNG>>204のところです
0206デフォルトの名無しさん
NGNG・・・・エロリンクしかないんですけど・・・・・
0207デフォルトの名無しさん
NGNG冗談はさておき
http://pc2.2ch.net/test/read.cgi/tech/1042611308/
ここの最初のリンク
0208デフォルトの名無しさん
NGNGできましたー!!!次はどうしたらいいんですか???
0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNGするってこどですか???
0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNG207のリンク先のDownloadからMinGWを落として解凍すれば使い方も一緒に全部入ってるはず。
0215デフォルトの名無しさん
NGNGその辺は自助努力ってことですか???
ギャビーン・・・・
0216デフォルトの名無しさん
NGNGってなんですか?なんとなくガーンって感じはするんですけど。。。
0217デフォルトの名無しさん
NGNGガーン
0218デフォルトの名無しさん
NGNGパス通して
gcc hogehoge.c
0219デフォルトの名無しさん
NGNGパスてなんですか?
だれにパスするの?
はぁ〜
0220デフォルトの名無しさん
NGNGどこまで知れば、目的に達成できるのか、もうちょっと調べてから
質問してくれないのカナー。
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNG今網を巻き戻してるところなのでもう少し待ってください。
0223デフォルトの名無しさん
NGNG0224おしえてください
NGNG0225おしえてください
NGNG0226デフォルトの名無しさん
NGNG効率を重視するときはIDEを使います。
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNG符号付きでかつ負数を右シフトした結果は処理系依存ですよね?あいた部分が1で埋められると決まっているわけではないですよね?
0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNGそこ。
どこ?
ここ。
0232デフォルトの名無しさん
NGNGですよね。ありがとうございました。
ごく一般的な例を示しただけなのかな。表形式で決めつけた書き方をしていたんだけど・・・
0233デフォルトの名無しさん
NGNGVisualStudioが使いにくいとかgdbがとっつき難いってのは判るが。
0234デフォルトの名無しさん
NGNGdoubleの精度は約13桁です
って書いてある。
0235デフォルトの名無しさん
NGNGchar search(char*,char*);
main()
{
char moji1[81];
char moji2[81];
printf("店の姫の名前をカキコんでみてネ。(ただし、80字以内にしないとお仕置きよん♪)");
scanf("%s",moji1);
printf("やりたい姫の名前をここに挿れてっ。お・ね・が・い♪");
scanf("%s",moji2);
if(search(moji1,moji2)==0)
{
printf("殿!お探しになってた姫は在籍しております。\nお急ぎくださいませ!");
}
else
{
printf("殿!今日お探しになってた姫は休みをとっております。\nまた別の機会にご来店ください。よろしくおながいします。")
}
}
0236235の続き
NGNG{
char* a,b;
int s;
b=y;
while(*x!='\0')
{
while(*y!='\0' && *x!='\0')
{
if(*x==*y)
{
s=0,x++,y++;
}
else
{
s=1,x++;
}
if(s==0 && *y=='\0')
{
retrun 0,break;
}
if(s==0 && *x!=*y)
{
y=b;
}
}
}
return 1;
}
0237ひよこ名無しさん
NGNGキタ━━━(, )(,, )(, )(`×´ ;)━━━ッ!!
http://diary4.cgiboy.com/0/izuminoa/
0238236
NGNGは
char* a;
char* b;
という解釈でおながいします。
0239デフォルトの名無しさん
NGNGそれよりもなんの目的でソースを貼ったんですか?
0240デフォルトの名無しさん
NGNGstrcmp
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG0243_
NGNG0244236
NGNG0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGstruct b{
int com;
}mac;
}homepage;
int hiroyuki44;
homepage.mac.com/hiroyuki44
いや、べつに意味は無いんだけど…。
0247デフォルトの名無しさん
NGNGあぼ〜んだよ(w
0248デフォルトの名無しさん
NGNG誰かいる。
unionって今はじめて打ったよ。
あと。#if #elseとかも一度もない・・・
0249デフォルトの名無しさん
NGNG良く見るけど、そのアドって何なの?
0250デフォルトの名無しさん
NGNG名前欄にfusianasanと入力するんだよ。
0251fushianasan
NGNG0253デフォルトの名無しさん
NGNGunion は使わんなぁ。
でも、#if #else は結構使うぞ。
0254デフォルトの名無しさん
NGNGなんか字がスゴいことに…
0255デフォルトの名無しさん
NGNGVC++に#if #elseと似たような機能があるよ。
指定した行や関数を無効にするようなものが。
0256デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
NGNG標準より処理系の拡張がいいと申すか?
0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNGたった1個のDBの項目長が変わっただけで大量の修正orリコンパイルを
余儀なくされたよ。
相当メモリを節約したいか、同じ領域を無理やり違う型ですぐに見たいときでもなきゃ
使うもんじゃないな。
0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNG初めて使った union は union REGS regs; ダターヨ。
0262デフォルトの名無しさん
NGNG俺もだ。
VRAM 操作するときに使っターヨ。
0263デフォルトの名無しさん
NGNGエンディアン変換する時には激しく便利だな。
>union
0264デフォルトの名無しさん
NGNGどういう風に便利?
0265デフォルトの名無しさん
NGNGvoid change_int_endian(int *value) {
char tmp;
char *c = (char*)value;
tmp = c[0];
c[0] = c[3];
c[3] = tmp;
tmp = c[1];
c[1] = c[2];
c[2] = tmp;
}
0266デフォルトの名無しさん
NGNGそれだとintのデータしか扱えなくて汎用性がない。
既存のソースの改修や、同じ関数内で変換したい場合は以下のようにする。
union {
unsigned long Dword;
unsigned short Word[2];
unsigned char Byte[4];
} data;
data.Dword = hoge;
/* Big Endian */
BigEndiadn = (unsigned short)((data.Byte[0] << 24) | (data.Byte[1] << 16) | (data.Byte[2] << 8 | data.Byte[3]) );
0267デフォルトの名無しさん
NGNGunion hoge{
short s[2];
int i;
} uni;
uni.s[0] = 1;
uni.s[1] = 0;
printf("%d", uni.i );
ってやったらさ、65536って出るよね。
0268デフォルトの名無しさん
NGNGCHAR_BITSが8じゃなかったら?
0269デフォルトの名無しさん
NGNG0270デフォルトの名無しさん
NGNGそれってBig EndianでもLittle Endianでも同じ値になる?
0271デフォルトの名無しさん
NGNG…アフォだ、真性の。
0272デフォルトの名無しさん
NGNGshort と long のキャスト間違えただけだろ。
0273デフォルトの名無しさん
NGNGshortが32ビットなんだろ?
0274デフォルトの名無しさん
NGNGアフォだ、真性の。
0275デフォルトの名無しさん
NGNGアフォで短小で包茎で早漏って言いまちたね
アフォで(略)って言った方がア(略)なんでちよ
そう、ママに教わりまちぇんでちたか?
0276デフォルトの名無しさん
NGNG逆に覚えてしまっているのか。
0277デフォルトの名無しさん
NGNGそれはママンには習わなかったが、>>265みたいになるんじゃないのか?
0279デフォルトの名無しさん
NGNGああ、最後の1行だけに対する煽りだったんだね。スマソ。
0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNGCHAR_BITだろ
0282デフォルトの名無しさん
NGNG細かいツッコミありがとう。
0284デフォルトの名無しさん
NGNGとかにscanfなどで絶対2文字以上入れさせない為にはどうしたらいいですか?
0285デフォルトの名無しさん
NGNG別な入れ物用意する。
0286デフォルトの名無しさん
NGNGループを使って1文字ずつ入れていけばいいんじゃない?
0287デフォルトの名無しさん
NGNG0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNGscanf に%cを1つ書いて入力汁
0290デフォルトの名無しさん
NGNGこれを加えるだけでオッケー
0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNG「そうは言っても体は正直なもので3文字以上
入れられたがってるようじゃがのぅ。フォッフォッフォッ。
どれどれ、ひとーつ、ふたーつ、みぃ〜〜〜っつ」
0293284
NGNGscanf("%1s", c); //一回目の入力
scanf("%1s", c); //2回目の入力
とした時1回目に余った文字が2回目のほうで入ってしまうのですがこれは回避できないんでしょうか?
0294デフォルトの名無しさん
NGNGまずは法律の整備から。
まあ法律を破る人はいるから絶対に防ぐのは無理だけど。
0295デフォルトの名無しさん
NGNGrewind(stdin) と汁
0296デフォルトの名無しさん
NGNGそれって大丈夫なの?
0297デフォルトの名無しさん
NGNG0298デフォルトの名無しさん
NGNGハァ? それくらい自分で試せば?
0299デフォルトの名無しさん
NGNG俺の持っている環境だけで動いても意味ないし・・・
0300デフォルトの名無しさん
NGNGハァ? それくらい自分で調べれば?
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNGだめだったけど・・・・
環境はLinux+gcc
0303デフォルトの名無しさん
NGNGman rewind してみたら?
多分使うタイミングを間違えているよ。
0304デフォルトの名無しさん
NGNGデバイスに対してfseekやrewindを使った場合についての記述はない。
呼ぶタイミングは二度のscanfの間
0305デフォルトの名無しさん
NGNG#include <stdio.h>
int main(int argc, char**argv)
{
char c;
scanf("%c", &c);
rewind(stdin);
scanf("%c", &c);
printf("%c\n", c);
return 0;
}
0306デフォルトの名無しさん
NGNG0307304
NGNG0308デフォルトの名無しさん
NGNGそうだが。何がいいたいの?
0309284
NGNG今は使えないのですが本当はUNIXで実行させたいのですが・・・
やっぱり関数使わないと無理なんでしょうか・・・?
0310デフォルトの名無しさん
NGNGrewind は UNIX な環境であればおそらく存在するんではないか?
なんかマズいの?
0311デフォルトの名無しさん
NGNGすごい釣りだなぁ
0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNG存在するか否かの問題ではないだろ・・・
rewind(stdin)で入力バッファをクリアできるかどうかが問題なんだろ。
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNGscanf("%c",&a);
b = a;
while(a != '\n'){
scanf("%c",&a);
}
scanf("%c",&c);
0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNGんーと a.out < /dev/random
ってことですか?
0319デフォルトの名無しさん
NGNGそんな訳ない
0320デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNGコワー。ちょっと荒んでますね。
0322デフォルトの名無しさん
NGNGアレが皮肉に見えるのか?
0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNG>>309は期待通りに動いたという意味で「使えました」と言ったんだろ。
それを存在するかしないかという意味で解釈して>>310と言ったんだろ。
0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNGこれが根拠なんでしょうね。
0327デフォルトの名無しさん
NGNG0328326
NGNGこれ
0329デフォルトの名無しさん
NGNG違うものであるかを見極める関数の使用方法だな
0330デフォルトの名無しさん
NGNG待ってるんだが。
0331デフォルトの名無しさん
NGNG0332デフォルトの名無しさん
NGNG調べもしないで凄む>>320はどこに行ったんでしょうか?
0334名無しさん@Emacs
NGNG下のプログラムを実行すると処理が全部終ったあとにSegmentation Faultになります。
どこがまずいんでしょうか
#include <stdio.h>
void get_output_fd( char *argv ,FILE *out_file ){
out_file = fopen("outputfile","w");
}
int main ( int argc, char **argv ){
FILE *out_file;
(void) get_output_fd( argv[1], out_file );
fclose( out_file );
return (0);
}
0335デフォルトの名無しさん
NGNGfopenの戻り値がget_output_fdを抜けたところで行方不明になるから。
書くならFILE *get_output_fd(void); outfile=getoutput_fd();とする。
0336デフォルトの名無しさん
NGNG自作関数get_output_fdの引数の意味がわからん!
自作関数get_output_fdの戻り値でout_fileをメインに返すかout_fileを
グローバル変数で宣言しないとfclose( out_file );が機能しない!
さらに戻り値型の括弧は(void)特に必要がないかと思うけど・・・
0337デフォルトの名無しさん
NGNGint i=123;
string ss=i;
としたとき、ssに数字の123の文字が入ってくれません。
単に数字を文字列にしたいだけなんですが、どうすればいいのでしょうか。
0338デフォルトの名無しさん
NGNGvoid get_output_fd(char *argv, FILE **out_file)
{
*out_file = fopen("console.txt", "w+");
}
int main(int argc, char **argv)
{
FILE *out_file;
get_output_fd(argv[1], &out_file);
fclose(out_file);
return(0);
}
0339jj
NGNGなぜでしょうか。
#include <stdio.h>
main()
{
printf("t");
}
0340デフォルトの名無しさん
NGNGさらにはコンパイラによったらメイン関数でもプロトタイプを
宣言しろといってくる「ポンコツ」が存在する。
0341デフォルトの名無しさん
NGNG#include <stdio.h>
void main()
{
printf("t");
}
#include <stdio.h>
int main()
{
printf("t");
return 0;
}
どっちかにすんだな
0342デフォルトの名無しさん
NGNG0343デフォルトの名無しさん
NGNG0344デフォルトの名無しさん
NGNGいとあ
0345337
NGNGを
char
にするだけでもいいのでおながいします。
0346デフォルトの名無しさん
NGNG0347337
NGNG0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNG#include <sstream>
std::ostringstream ost;
int i=123;
ost << i;
std::string s=ost.str();
C++相談室 part20
http://pc2.2ch.net/test/read.cgi/tech/1055162298/l50
0350337
NGNG0351337
NGNGあーごめんなさい。
あとまじでありがとうございます。困ってたので助かりました。
0352デフォルトの名無しさん
NGNGC板的に回答するなら
int i = 123;
char buf[256];
sprintf( buf, "%d", i);
と言った所か?
0353デフォルトの名無しさん
NGNG0354kk
NGNG#include <stdio.h>;
の「;」がぬけてますよ。
0355デフォルトの名無しさん
NGNG0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNG0359jj
NGNGありがとうございました!!!
それで逝けました
0360デフォルトの名無しさん
NGNG空しいな。友達作れよw
0361jj
NGNG354さんありがとうございました!!
残りは氏ね
0362デフォルトの名無しさん
NGNG何度も見たなぁ。これが通るコンパイラって多いのかな。
0363デフォルトの名無しさん
NGNG0364デフォルトの名無しさん
NGNG340, 341も答えているのに、酷い香具師だな。
0365デフォルトの名無しさん
NGNGさっきから一人で何やってるんですか?
0366デフォルトの名無しさん
NGNGC FAQすら読まずに質問する人
の間違いだな。
0367その1
NGNG>>5 真・脳力者の芽美たんのオナニーがよかった
>>6 佐伯由美子(虜)の自慰調教のシーンが良かった。
>>9 とらハ2でみなみがオナるところ萌え〜。
>>10 とらハ2でみなみがオナるところ萌え〜。
>>15 >>16
自慰・自慰〜覗きの報酬〜・自慰2・自慰☆すぽっと(キャンディソフト)
みせたがり(ZERO)
「fu・shi・da・ra」「mi・da・ra」(ミンク)
P.S.@1・2・3(ウラン)
自慰倒錯(ティンカーベル期待の新作) >>417-418
>>20 >>22 「女のこの仕組み」(りびどー)のおまけCD
>>29 夜勤病棟の恋
>>43 同人でもいいですか?虎の穴に「奴隷志願」
>>52 夜想文化祭で香澄、真由美、園子、智代の4人にオナニーシーン有るょ。
>>54 >>55 放課後マニアクラブは全員やってて良かったなぁ。
>>60 『風色のロマンス』で主人公の部屋でエロ本を見つけオナってる処を見つかちゃった
>>63 「緋色の姉妹」で二人いる。
>>74 ブライディアでダリアにオナニーさせるシーンは凄く良かった
0368デフォルトの名無しさん
NGNG吊ってくる
0369デフォルトの名無しさん
NGNG0370367
NGNG客「こういうの作ってください」
技術者「はいできました」
パターン2
技術者「俺こういうの作りたい」
技術者「できたー」
どっちの技術者が本気で開発「やりたい」と思ってると思う?
どっちが本気で開発の楽しさを「感じてる」と思う?
だから漏れはオナーニ好きなんだYO!
本人が自ら求めてる様がいいんだYO!
0371デフォルトの名無しさん
NGNG作ったエロゲ教えて。
0372367
NGNGパターン1がセクースで
パターン2がオナーニな。
で、別に俺はエロゲメーカーでもないし個人的に作る力量もなし。
さて、印刷もしたし、中古屋にいってくるか…。
0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNGscanf("%d", &n);
switch(n){
・
・
・
}
}
というやつだと、入力を間違ったりすると(↑とかBS)無限ループにはいってしまいます。
その対処法などがありましたら、ぜひお教えください。
0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNG>>293 以降
0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNG0379デフォルトの名無しさん
NGNG時代だねぇ。
0380デフォルトの名無しさん
NGNGvoid main()
{
double a,b,c;
cout << "わり算の余りを求めます。" << endl;
cout << "わられる数を指定してください。" << endl;
cin >> a;
cout << "わる数を指定してください。" << endl;
cin >> b;
c=a%b;
cout << a << "÷" << b << "の答えは" << c << "です" << endl;
}
このプログラムがどうしてもエラーになります。
どこが悪いのでしょうか?
0381デフォルトの名無しさん
NGNGC++スレは他にあるよ。
0382デフォルトの名無しさん
NGNG2. a % b は a ÷ b じゃない
3. スレ違い
0383デフォルトの名無しさん
NGNGC++のプログラムはここではありません。
しかも、#include <iostream.h>ってヘッダーファイルではないので
#include <iostream>です。CとC++を混同してませんか?
0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNG答が出てるしスレ違いなんだが、一般的に「エラーが出る」というのは、
どういうことなのか詳しく述べないとダメよ。
・何をしたときに
・どんなエラーが出たか(メッセージをコピペする)
これくらいは最低限必要ね。
0386デフォルトの名無しさん
NGNGscanfで半径を入力し、半径*半径*円周率(n)で面積を求めたいんですが、
入力された数値が2だったら4nみたいに表示できませんか?
文字と数字の掛け算ってできますか?
0387デフォルトの名無しさん
NGNG数字も文字の内。
文字は整数だからかけ算できる。
0388デフォルトの名無しさん
NGNGprintf("%dn",hankei1*hankei2);じゃだめなの?
0389デフォルトの名無しさん
NGNGでも、もし半径がrを入力されたら・・。ということを
考えたら掛け算したほうがいいかなと思ったんです。
↑>>入力された数値
すみません。文が変でした。数値だけではなく、文字も考えます
0390デフォルトの名無しさん
NGNG2 2なら4nで、r 5なら5rnとか表示させたいの?
0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNG2と入力されたら4#、
rと入力されたら#r^2こんな感じです。
0393デフォルトの名無しさん
NGNGそれならscanfを使ってはいけないと思うよ・・・・
0394388
NGNG0395デフォルトの名無しさん
NGNGどうもありがとうございます。
0396初心者
NGNGC言語を勉強しようと思うのですが、
どういう勉強方法がよろしいですか??
アセンブラも覚えた方がいいのですか?
0397デフォルトの名無しさん
NGNG0398デフォルトの名無しさん
NGNGそうでないなら内容が少なすぎるのではないかと思うくらい
簡単な本を買うのがいいと思う。
何でも覚えた方がいいが手広くすると挫折する可能性も高くなる
0399初心者
NGNGありがとうございます。
0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNG0402デフォルトの名無しさん
NGNG0403悩める獅子座
NGNG今はPCの性能がインフレ気味だから全部グローバル関数にしちゃっても
なんら問題ないと思うんだけど。。。
俺ってアフォ?ポインタの存在意義教えて
0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNGBASICの様なコードを書きたいならそれでもいいよ
0406デフォルトの名無しさん
NGNGむしろ性能が低いほうがグローバル変数を使う意義があるのだが…
余計なパラメータの受け渡しのコードがなくなるんでその分速くなるのだが。
事実昔は、リエントラントに気を使わないでよい再帰関数は高速化のために
グローバル変数を積極的に使ったものだ。
グローバル変数を使う弊害ってのは、関数の独立性が損なわれることにある。
無論、リエントラントな関数だとグローバル変数を使ってパラメータの受け渡しをすると、
破綻するしな。
パラメータをいちいち書かずに済むので楽だと考えがちだが
(おれも新人の頃はそうだった)いざ、そのパラメータの値がおかしくてバグが露見した場合、
どこでおかしな値を設定しているのかわからなくなる。
それでなくても関数の独立性が低いので少しでもその関数を直すとその影響が
コード全体に波及して保守しづらいことこの上ないコードになるぞ。
だからPC、というか計算機の性能が上がった今では多少の性能は無駄にしても、
保守性を重視してグローバル変数は原則として使うな、ということになっているのだ。
以上のことはポインタを使うとか何とかということと関連のない話だ。
ポインタの本質は物を指せるということだ。物というのはメモリ上の実体な。
これを使わないとかけないコードは多々ある。一番いい例がリンクトリストだ。
もうひとつ、でかい物をパラメータとして渡すと性能が落ちるので、
その代わりにでかい物のありか(ポインタ)をパラメータとして渡すという使い方もある。
さらに物のありかを指しているので、関数はその物にいろいろいたずらをするという
使い方もある。君が言うグローバル変数で云々というのはこの最後の使い方しか見てない。
0407デフォルトの名無しさん
NGNGPCの性能が良くなったからポインタの存在意義がなくなった
と言ってるのか?
つまり昔は意義があったってことか?
どんな意義があったのかは知らないが、それがポインタの存在意義じゃないのか。
0408デフォルトの名無しさん
NGNG長文を書く前によく読みなさい。
>>403 の言っているのは「グローバル関数」です。
0410デフォルトの名無しさん
NGNG0411デフォルトの名無しさん
NGNGあえて言うならstaticな関数、かなあ。
グローバルの定義にもよるけどな。
0413412
NGNG0414デフォルトの名無しさん
NGNGと勘違いしてるやつは何でも間でもポインター使ってみんなに、嫌がられるんだよ。
アスタリスク2つまでなら許せるけどそれ以上はいや!
0415デフォルトの名無しさん
NGNGなったのか?
0416デフォルトの名無しさん
NGNG使われにくくなった
0417デフォルトの名無しさん
NGNGどこで?
0418デフォルトの名無しさん
NGNG↑これはstrcmpを使うときに必要なんか?それともatoiか??
違うサイトの解説見てたら乱数を発生させるときに必要とか・・・
でも乱数なんて入ってないし
どれなんだYO!
0419デフォルトの名無しさん
NGNG言語自体が使わない流れ!
javaとか会社では新規にCでプログラムはしばらくしてないがcの仕事が新規で
くればハードの性能が上がってるので理解しやすくポインターを使わずに書く。
0420デフォルトの名無しさん
NGNGatoiもrandもsrandもstdlib.hだが、strcmpはstring.h
0421デフォルトの名無しさん
NGNGC++はどうするんだ?
0422デフォルトの名無しさん
NGNGし・め・つ♪
0423デフォルトの名無しさん
NGNGうちは未だに思い切り使ってますが…
0424デフォルトの名無しさん
NGNGC++はクラス型もポインターは便利なので使う。それ以外はなるべく控える。
0425デフォルトの名無しさん
NGNGもではなくのです。
0426デフォルトの名無しさん
NGNGサンクス
めもっとく
0427デフォルトの名無しさん
NGNGJavaでOSがかけるか。ドライバがかけるかボケ。
と思ったのだった。その昔にたようなことが言われてて、
PrologでOSを書いちゃったことがあってみんな仰天したがなw
アプリだけならCはいらんかもしらんな。
要は使うべきところを間違っちゃいかんという事だ。
Cを使うならポインタ使わないと書けない・書きづらいことがあるんで使うでしょ。
0428デフォルトの名無しさん
NGNGJavaだってVBだってあるだろ。
0429デフォルトの名無しさん
NGNG0430デフォルトの名無しさん
NGNGCと同等のポインタが使える言語ってそんなにないと思うけど。
Javaは基本的にオブジェクトの参照のみだし。VBはよくしらん。
Cには参照がないんだよな。他の処理系では処理系が縁の下でやってることを、
Cではプログラマがポインタを使って明示的にやるようになってる。
0431デフォルトの名無しさん
NGNG0432デフォルトの名無しさん
NGNG文法がちょっと違うだけだよ。
その本質を見失うと厄介なバグに悩まされるよ。
0433デフォルトの名無しさん
NGNGポインタを理解してない香具師って、意外と多そうだね…
0434デフォルトの名無しさん
NGNGその他の言語で使われてるものとで違う、
ということに関して触れる人が少ないのが残念だ。
Java などで使う「参照」というものは
実のところ C++ の「参照」と「ポインタ」を足して 2 で割ったようなものだ。
1. 初期化だけでなく、代入できる(C++ のポインタの特徴)
2. あるオブジェクトの実体そのものではなく、
実体を参照するものである(C++ のポインタと参照の特徴)
3. アドレスのようなものを操作することができない(C++ の参照の特徴)
特徴 2 は重要で、うっかりすると
違うものだと思ってたものが実は同じ実体を参照していた、
なんてことにもなる。
C++ では値とポインタ、参照で型名が変わるのでその可能性を常に意識するけど、
Java だと参照しか使うことができないのでつい忘れてしまうことがある。
0435
NGNGchar *p
func(&p);
void func(char **p){
*p = .....
}
これで大丈夫ですか?解説お願いします。
0436デフォルトの名無しさん
NGNG何が違うのかわからん。
JavaとC++の言語仕様の些細な差をいってる?
どれも、参照という、別のところにある実体を指すものという
概念の範疇から越えていない。
同じ実体を指してることがあるのも、当たり前だと思うが。
>>435
グッドグッド
0437デフォルトの名無しさん
NGNG何をやりたいのか知らないが、おそらくもっといい方法がほかにある。
0438デフォルトの名無しさん
NGNGだから、参照という言葉をみんな使ってるけど、
それぞれでその言葉の指している意味が違ってては
議論になんないよ、ってこと。
0439デフォルトの名無しさん
NGNG通じてるって
0440デフォルトの名無しさん
NGNG分かってる人には通じる。
しかし、議論してる中にはよく分かってない人もいる。
こういう人たちには通じない。
0441デフォルトの名無しさん
NGNG0442デフォルトの名無しさん
NGNG明らかにコンパイルすら通らないね。
0443デフォルトの名無しさん
NGNGってなんかおかしくね?
0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNGいや、おかしい(反語)
0446デフォルトの名無しさん
NGNGこの「参照」ってのは何を指してんでしょね。
「他の言語での『参照』と同一の定義を持つ仕様が存在しない」
って、そんなもんは別に珍しくもない話だし、
「他の処理系では処理系が縁の下でやってる」とかも大げさで、
ポインタと「参照」にそんな大袈裟な差はない
(今は「実体の参照」に焦点を置いているので、
ガベージコレクションの話は置いておく)。
ポインタで十分「参照」の機能を果たせるし、
それを実現するのも非常にたやすい。
これは「『参照』がない」と言えるのだろうか?
その答えは「『参照』の定義による」としか言いようがない。
0447430
NGNGあーまあ、そうね。確かに書いてて「言葉の定義ちゃんとしないで議論にならねえな」と思ってた。
頭にあったのは字面としての参照でしかなかった。
>ポインタで十分「参照」の機能を果たせるし、
>それを実現するのも非常にたやすい。
もちろんその通り。でもあくまでポインタを値渡ししてるに過ぎない、
ともいえるわけで、言葉遊びにしかならんなこれじゃw
というか、それぞれの言語で「ポインタ」だとか「参照」だとかその他様々な概念が、
重なるところも大きいけど微妙にずれてるから、きちんと定義しないと議論にならないね。
Pascalにもポインタはあるけど、Cの意味でのポインタじゃないし、
さらにPascalには参照もあるけどC++の参照とは違うし、
Rubyには参照しかない、とかいってもC++のとは違うし。
この種の定義を厳密にしないと話が全然進まないのは、このスレではできないよなあw
スレ違いになってきたし、この辺で。
0448デフォルトの名無しさん
NGNGポインタを使わずに書かれた冗長なコードと、
ポインタを使ってすっきりしたコードと、
理解しやすいのがどっちかは明白だと思うが。
…といっても、こないだダブルポインタを使いたい場面があったが、
さすがに気が引けたのでほかの手段を使った。
どうしてもダブルポインタをつかうような場面でもなかったし。
0449デフォルトの名無しさん
NGNGポインタは変数とは限らないが?
0450デフォルトの名無しさん
NGNG0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNG0453デフォルトの名無しさん
NGNG危うくケコーンする所ダターヨ
0454デフォルトの名無しさん
NGNGうーん、じゃあ1行目を読み替えてくれ。
「アドレスなんて理解しちまえばただの値に過ぎないからな。」
…まぁ、言いたい事はわかってくれ。
わからなかったらそれでいい。自分の文才のなさを嘆くだけだから。
0455デフォルトの名無しさん
NGNGdouble*のことじゃないよね?
0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNG一般的な用語かどうかは知らないが、個人的に好きな表現ではないな。
0459デフォルトの名無しさん
NGNG0460デフォルトの名無しさん
NGNG0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNG値:ポインタ
変数:ポインタ型変数
とを区別するとこんな感じか。
0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNG採用!!
0465デフォルトの名無しさん
NGNG部下「いやですね、それはここで受け取ったポインタの値を変えるので、
ポインポインじゃないといけないんですよ」
0466デフォルトの名無しさん
NGNGa[b[c[d]]]
のような使い方するんだよな…
0467デフォルトの名無しさん
NGNGVBでよくやる。そこまで深くないが。
0468デフォルトの名無しさん
NGNGへーそんなんはじめてみた。
会社で漏れ以外にCやる奴がいないせいか。
int main(void){
char input[81];
FILE *FP1,*FP2;
if((FP1=fopen("kazu.txt","r")==NULL)
{
printf("読み込みファイルが開けません。");
return 1;
}
if((FP2=fopen("kazu2.txt","w")==NULL)
{
printf("書き出しファイルが開けません。");
return 1;
}
while(fgets(input,81,FP1)!=NULL)
{
fprintf(FP2,"%s",input);
}
return 0;
}
実行できないんですがどこか変ですかね・・
0470デフォルトの名無しさん
NGNG「実行できない」とはコンパイルできないって意味か?
二番目のifの括弧がちゃんと閉じてないぞ。
0471470
NGNG0473デフォルトの名無しさん
NGNG0474470
NGNG「実行できない」だと漠然としてて何ができなかったかわからない。
おれの感覚だと「実行できない」は「実行させてみたけど例外が起きた/core dumpした」って感じだな。
少なくともコンパイルエラーが起きた、という感じがしない。
これは「感じ」の問題なんで議論しても始まらないんだが、質問を書くときは
・何をした(どこで詰まったか)
・期待していたことは何か、どう期待と違っていたか
・エラーメッセージが出ているのならばそれをコピペ(大量に出てるときは無理か…)
くらいは書いて欲しい。なんかついさっきも同じようなことを言った覚えがあるがw
これも以前書いた覚えがあるが、一般的にコンパイル時に文法エラーが出てきたときは、
コンパイラが指摘してきた行の一つ前にエラーがあることが多い(経験則)。
0475デフォルトの名無しさん
NGNG次スレの >>1 にでも
ある程度書いておくといいかねぇ。
0476デフォルトの名無しさん
NGNG携帯のプラン別料金対応表プログラムはどう作れば良いんでしょうか・・?
scanfでやってますが
scanf(%d", &timeA,&timeB);
これじゃだめ?
プラン一個だけはできても他がバグちゃうんだけど
0477デフォルトの名無しさん
NGNGここはお前のような低脳がくるとこじゃねえよ。
0478デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNG0480デフォルトの名無しさん
NGNG業界標準はボインボインです。
0481mathmania ◆uvIGneQQBs
NGNGint main(void){
char s[8];
scanf("%s",s);
return 0;}
のコードからできる実行ファイルの入力待ちで
123456789
とかを入力してはいけないといいますが、
scanfで、余分なデータを捨てる、ということはできるんですか?
0482デフォルトの名無しさん
NGNG単に文字列として受けるのならstdinに対してfgetsを使えばいいんじゃないでしょうか。
0483デフォルトの名無しさん
NGNGscanf("%7s",s);
0484mathmania ◆uvIGneQQBs
NGNGぐらいしかないですか?
0485mathmania ◆uvIGneQQBs
NGNG新着レス取得しそこなった。
Thanks to [483]
0486デフォルトの名無しさん
NGNGscanfを使わなければいいだろう?
0487デフォルトの名無しさん
NGNG0488mathmania ◆uvIGneQQBs
NGNGそれもそーだ。
0489デフォルトの名無しさん
NGNG0490デフォルトの名無しさん
NGNGところで、"%7s"だと"abc def"と入力した場合、abcしか読み込まれないけどいいの?
0491mathmania ◆uvIGneQQBs
NGNG良くないかもしれない。
この場合はgetsかな?
0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNG0496490
NGNG0497デフォルトの名無しさん
NGNG0498mathmania ◆uvIGneQQBs
NGNG#include<stdio.h>
#include<string.h>
int main(void){
char *s={'a','b','c',0};
*s+=1;
puts(s);
return 0;}
のコードからできる実行ファイルは、正常に実行できますか?
0499デフォルトの名無しさん
NGNGこれってコンパイル通るの?sが配列でないんだけど・・・・
0500デフォルトの名無しさん
NGNGその質問の意図はなんだ?
0501デフォルトの名無しさん
NGNGchar *s={'a','b','c',0};
↓
char s[]={'a','b','c',0};
0502デフォルトの名無しさん
NGNGそうすると今度は配列名に代入しようとしてエラーになるな(笑)
0503502
NGNG0504mathmania ◆uvIGneQQBs
NGNG#include<stdio.h>
#include<string.h>
int main(void){
char *s="abc";
*s+=1;
puts(s);
return 0;}
からできるプログラムはbbcを出力できますか?
0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNG処理系によっては出来るかもしれないが、
文字列定数の変更はC言語の仕様で許されていない。
0507デフォルトの名無しさん
NGNG0508mathmania ◆uvIGneQQBs
NGNGmain(void){
char a[]={27,91,33,31,109,61,62,63,27,91,30,109,0};
puts(a);
return 0;}
を、DOS,UNIXで、それぞれコンパイルして、それぞれ実行すると、それぞれどうなりますか?
0509デフォルトの名無しさん
NGNG基地外かと思った
0510デフォルトの名無しさん
NGNGコントロールコードが入っているぞ
0511mathmania ◆uvIGneQQBs
NGNG#include<stdio.h>
main(void){
char a[]={27,91,51,49,109,61,62,63,27,91,48,109,0};
puts(a);
return 0;}
//hexとdecがごっっちゃになってるもので。。。
0512デフォルトの名無しさん
NGNGコンソールしだいだろ
0513デフォルトの名無しさん
NGNG0514mathmania ◆uvIGneQQBs
NGNGC言語で、
フラグレジスタのキャリーフラグに相当するものってありますか?
0515kk
NGNG0516デフォルトの名無しさん
NGNG0517mathmania ◆uvIGneQQBs
NGNGそれでは、どっかの板で会いましょう。
栗上がりの処理は自分でしろと。
0518デフォルトの名無しさん
NGNGこんな感じでできたと思う。
carry = UINT_MAX - a > b;
0519518
NGNG× carry = UINT_MAX - a > b;
○ carry = UINT_MAX - a < b;
0520デフォルトの名無しさん
NGNG7bitコードをSJISコードに変換したいのですが
どうすればいいのかがまったくもってチソプソカソプソで
ございます。
ご教授のほど承りたく候。。。
0521デフォルトの名無しさん
NGNG0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNGJISかな。
0524デフォルトの名無しさん
NGNGそこら辺にあるソフトで一発変換。
というか、そんくらい検索したら分かるのでは?
0525デフォルトの名無しさん
NGNGテーブル作ってもたかだか256bytesだなw
0526デフォルトの名無しさん
NGNG間違い
0527デフォルトの名無しさん
NGNGダウト! コード示せないくせにシッタカかよ
0528デフォルトの名無しさん
NGNG0529デフォルトの名無しさん
NGNG皆さんは、hello,worldをコーディングするのに何秒かかりますか?
なんとなく測ってみたら15秒・・・。自身あったのに・・・
0530デフォルトの名無しさん
NGNG0531デフォルトの名無しさん
NGNGg(x,y)=(√f(x,y)-√f(x+1,y+1))二乗 + (√f(x,y+1)-√f(x+1,y+1))二乗
の計算をするにはどうすればいいでしょうか?
さっぱりわかりません
0532デフォルトの名無しさん
NGNGdouble g(double x, double y, double (*f)(double, double))
{
return pow(sqrt(f(x, y)) - sqrt(f(x + 1, y + 1)), 2) + pow(sqrt(f(x, y + 1)) - sqrt(f(x + 1, y + 1)), 2);
}
0533デフォルトの名無しさん
NGNGサイズが不確定な文字列を格納するときなんかに使うんですか?
0534デフォルトの名無しさん
NGNG数バイトとか数個の配列ぐらいか
0535デフォルトの名無しさん
NGNG線形リストとか
木とか
ハッシュとか、
0536デフォルトの名無しさん
NGNG口で数えながらやってみたところ22秒
0537533
NGNGありがとうございます。
mallocを使って領域を確保するのが普通なんですか。
やはりメモリリークを避けるためなんでしょうか?
何にしろ習慣づけて損はない様なので、意識して使う様にします。
0538531
NGNGerror:「外部シンボル'_main'が未解決」
ってなっちゃうんですが・・・
0539デフォルトの名無しさん
NGNG>>532はmainを省略して書いたのかと・・・
0540デフォルトの名無しさん
NGNGオプション -c を付けてコンパイルする。
0541デフォルトの名無しさん
NGNG0542デフォルトの名無しさん
NGNGhello world とプロンプトに出力プログラムを書いてから、出直してきて下さい。
0543531
NGNG宣言の構文エラーってなっちゃうんですよ
0544デフォルトの名無しさん
NGNG俺もだが。
0545デフォルトの名無しさん
NGNGどんな状況なのかさっぱりわからん。
0546デフォルトの名無しさん
NGNGここはそういうの読んでも分からんものを聞くとこや。
0547531
NGNG#include <math.h>
main()
double g(double x, double y, double (*f)(double,
double))
{
return pow(sqrt(f(x, y)) - sqrt(f(x + 1, y + 1)), 2) +
pow(sqrt(f(x, y + 1)) - sqrt(f(x + 1, y + 1)), 2);
}
こんなんです
0548デフォルトの名無しさん
NGNGしかも丸投げスレがあるというのに探しもせずに、
ただただ自分の為だけにスレを汚す香具師に
親切にする必要はない。
0549デフォルトの名無しさん
NGNGNo!!!!!!!!!!!!
ネタなの?
0550デフォルトの名無しさん
NGNG0551531
NGNG0552デフォルトの名無しさん
NGNG君にはまだ早すぎるプログラムです。
0553デフォルトの名無しさん
NGNG0554デフォルトの名無しさん
NGNGそれすら分かってないんだろうな。
0555デフォルトの名無しさん
NGNG0556531
NGNG0557デフォルトの名無しさん
NGNG>>532の他にmain()とf(x,y)を用意してmainからg()を呼ぶ。
0558デフォルトの名無しさん
NGNG0559デフォルトの名無しさん
NGNGGO!GO!!GO!!!をモジッて5!5!!5!!!って言っているのかと思ったら、
レスの番号の事だったのね。
応援されてるのかと思った。
0560デフォルトの名無しさん
NGNG両方。
俺自身寒いんだが。。。
0561デフォルトの名無しさん
NGNGg()も、もちろん用意して。
0562デフォルトの名無しさん
NGNG今すぐ24時間営業の本屋さんへ行って、
買えるだけのCの入門書を買って、
そこに書いてあることを完全に理解して、
それから大きな崖に突き当たること。
0563デフォルトの名無しさん
NGNGまずは解析学の初歩からじゃねーの?
0564531
NGNG画像処理のフィルタの式だったんですけど・・
0565デフォルトの名無しさん
NGNG0566531
NGNG0567デフォルトの名無しさん
NGNG>画像処理のフィルタの式
それならビットマップを用意しないと
0568デフォルトの名無しさん
NGNG0569531
NGNG先生が配った.pgm画像で実習してるんですけど
フィルタだけ変えろとレポートをだされて…さっぱりっていう状況で
0570デフォルトの名無しさん
NGNG0571デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNG> ・・・・・・・・・教科書の出版社のホームページからおとしたプログラムを
> ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
> フィルタだけ変えろ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
0573デフォルトの名無しさん
NGNGたしかに。
0574デフォルトの名無しさん
NGNGreturnとか使ってもいいんでしょうか?
0575デフォルトの名無しさん
NGNG良い。
0576574
NGNG0577デフォルトの名無しさん
NGNG一般的にはlongjmp
0578デフォルトの名無しさん
NGNG妙なこと教えるなw
まあlongjumpは覚えておいて損はないけど。
0579デフォルトの名無しさん
NGNGlongjmpって一般的かい?
0580デフォルトの名無しさん
NGNGどういう時に使うんだ?
0581デフォルトの名無しさん
NGNG0582デフォルトの名無しさん
NGNGCプログラマは、例外処理を行儀の良いsetjmp/longjmpのようなものだと考えることができるだろう。
プログラミング言語C++第三版より
・・・・だそうだ。行儀の悪い例外処理を記述するのに使えるらしい。
0583デフォルトの名無しさん
NGNG0584デフォルトの名無しさん
NGNGガッ
0585デフォルトの名無しさん
NGNG0586デフォルトの名無しさん
NGNG関数内でBASICのGOSUB・RETURN相当の事をするときに、
配列を使ったスタック+setjump/longjump+マクロでやった事がある。
0587デフォルトの名無しさん
NGNG0588デフォルトの名無しさん
NGNGそれでガッはかわいそうだろw
0589デフォルトの名無しさん
NGNGは
void func(void){...}
であると解釈しても良いのですか?
0590デフォルトの名無しさん
NGNG( ・∀・)
と ) | | ガッ
Y /ノ | |
/ ) .人
_/し' < >_Λ∩
(_フ彡 V`Д´)/
/ ←>>588
>>589
だめ
int func(void){...}
0591589
NGNGあ、値を返すんですね、ありがとうございました。
0592デフォルトの名無しさん
NGNG違う。
int func(...) {...}
だ。
0593590
NGNG確かに呼び出すところより上で定義したらそうなるか・・・
いつもプロトタイプではvoidとし、定義では空にしているから・・・
>>591
というわけで>>592が正解だ。
0594デフォルトの名無しさん
NGNGグローバル変数としてとっておくとき、その配列は
mallocにしますか?それとも適当に十分大きな
配列を用意しますか?
0595デフォルトの名無しさん
NGNGグローバル変数を使わない。
使っても、アドレスをポインタ変数に代入するだけで
データのコピーは行わない。
0596デフォルトの名無しさん
NGNGそれじゃ、ファイルから(.iniとか)文字列を読み込んで
それをいくつかのモジュールで使いたいときは?
グローバル変数にする?main関数のローカル変数にする?
そしてそれは適当に十分な大きさの配列にする?
mallocで確保する?
0597デフォルトの名無しさん
NGNG0598デフォルトの名無しさん
NGNGargvを渡すだけで充分。argvの差すものをコピーする必要はない。
0599597
NGNG0600デフォルトの名無しさん
NGNGサイズが判っている場合はmain()のローカルな配列。
そうでなければmain()のローカルなポインタ。
サブルーチンにはそれを渡す。
0601594,596
NGNGありがとう。言われてみればたしかにそうすね。
>600
サイズは不定です。
main()のローカルなポインタを宣言しておいて、
ファイルから読み出すサブルーチンにそのポインタを渡して、
サブルーチン側で mallocする、ということですか?
0602デフォルトの名無しさん
NGNG0603594,596
NGNG0604デフォルトの名無しさん
NGNG0605594,596
NGNGは?氏ねよヴォケ
0606デフォルトの名無しさん
NGNGまぁまぁ無能なんだからヘコヘコしとけ。
偽者だろうけど
0607デフォルトの名無しさん
NGNGCの掲示板
0608デフォルトの名無しさん
NGNGユーザーが思わぬ数値、文字列を入れた場合エラーになるよね。
それってどうやったら解消できるんですか?
0609デフォルトの名無しさん
NGNG0610デフォルトの名無しさん
NGNG0611ちよ
NGNGhttp://www1.free-city.net/home/kotarou/page005.html
0612デフォルトの名無しさん
NGNG>ユーザーが思わぬ数値、文字列を入れた場合
scanf()は定型以外の場合は使うな
0613デフォルトの名無しさん
NGNG前スレとこのスレを全部読め。
scanfはもううんざり。
0614デフォルトの名無しさん
NGNGprintfの代わりにfprint
0615デフォルトの名無しさん
NGNG中途半端なネタはヤメレって
0616デフォルトの名無しさん
NGNGまじれすだよ
0617デフォルトの名無しさん
NGNGstdoutとstderrを使い分けないのか?
0618デフォルトの名無しさん
NGNGfprint(fは?)
0619デフォルトの名無しさん
NGNGint main(void){
int a,b,c;
printf("y=a*xの値を求めます。aの値を入力してください。\n");
scanf("%d",&a);
for(b=0;b<11;b++){
c=b*a;
printf("yが%2dの時xは%2dです。\n",b,c);
}
}
0620デフォルトの名無しさん
NGNGprintf("yが%2dの時xは%2dです。\n",b,c); //文意からcとbが逆
0621デフォルトの名無しさん
NGNGu[0][n0][m0] = u0[n0][m0], u[1][n1][m1] = u1[n1][m1] となるような
3次元配列 u[][][] を作ることは可能でしょうか?
0622デフォルトの名無しさん
NGNG0623デフォルトの名無しさん
NGNG作っていただけますか?
あと、参考プログラムの説明をするために、一行一行説明文を入れなきゃいけないんですよ。
で、それって、どこでお願いすればやっていただけるでしょうか?
昼までなんですけど。。。
どこでお願いしていいのかわからないのでここに書かせていただいたのですが。
0624デフォルトの名無しさん
NGNGてめぇで作れ。
とりあえずくだ質スレにでもいけ。
***すれ立てるまでもない質問はここで 第39刷***
http://pc2.2ch.net/test/read.cgi/tech/1055864305/
0625デフォルトの名無しさん
NGNG逝ってきます。
0626デフォルトの名無しさん
NGNGどの様に使いたいかにもよるが、
こんな形で良いのなら、p[][][]として扱える
double p00[5], p01[5] ;
double p10[4], p11[4], p12[4] ;
double p20[4] ;
double *p0[] = { p00, p01 } ;
double *p1[] = { p10, p11, p12 } ;
double *p2[] = { p20 } ;
double **p[] = { p0, p1, p2 } ;
0627そんな低レベルな話よりも
NGNGhttp://210.136.172.68/cgi-bin/bbs.cgi
0628デフォルトの名無しさん
NGNGAddress: 210.136.172.68
0629デフォルトの名無しさん
NGNG「初心者はコンピュータの基本的な事項を勉強してから言語を学んで貰いたい」
と言う趣旨の書き込みに、
「そんな事を学んで、どうなるの?」
みたいなレスされてるのを見たんだげど、
最近のヤシって、CPUがプログラムをどう読み込んで実行するか、
と言う事すら調べないの?
0630デフォルトの名無しさん
NGNG「気を使わなくてもいい」のと「知らなくてもいい」のはちがうんだけどね
ドライバーは車の仕組みがブラックボックスでも構わないけど
エンジニアが知らないのは致命的なのは車もコンピュータも同じ
0631デフォルトの名無しさん
NGNGデータストリームは理解できないというようなアホな話だ
計算機利用者は必要がなければそれが歯車式計算機で実行されるか
未来の化学式コンピュータで実行されるかなど知らなくてよい
0632デフォルトの名無しさん
NGNG実行モジュールがメモリにロードされて実行されるあたりのことをちょっとしらないと
動的リンクとかしてコアはいたりしたときわかんなくなるんじゃないかな
0633デフォルトの名無しさん
NGNGまぁCPUの本当の動きを思い描いている香具師なんてそうはいないだろ。
十年以上も前のCPUをモデル化して、なんとなく理解の助けにしているだけ。
仮想メモリがどう動いているかなんていうのは、多くのプログラマにとっては無用な知識。
でも変数やデータが、メモリ空間上にどういう規則でおかれるかというのは知るべきこと。
0634デフォルトの名無しさん
NGNGそれはOSの仕事の話
>変数やデータが、メモリ空間上にどういう規則でおかれる
それはプログラミング言語で規定されている話
>>632-633でも分かる様にハードウェアの知識など必要ないということだ
0635デフォルトの名無しさん
NGNG0636629
NGNGやたら細かい所までは知らなくても、おおよそのイメージが出来るか、出来ないかは、
多少なりともプログラム言語の理解に差があると思う。
0637デフォルトの名無しさん
NGNG0638デフォルトの名無しさん
NGNG「CPUが」と言っているだろう「CPUが」と。
CPUがデータ要求して命令をフェッチして…、
はまさにCPU設計の話だ
>>637
仕様書を見てみな。その起源が既存のハードウェアに
依存しているかに関らず、細かく言語で規定しているから
0639デフォルトの名無しさん
NGNGアホか?
0640デフォルトの名無しさん
NGNGプログラマが知っておくべきことじゃないか?
0641デフォルトの名無しさん
NGNG0642デフォルトの名無しさん
NGNGディスクもメモリだがな。
なぜ違いがあるかなど知る必要はないだろ、問題はデバイスによって
違うということだけだ。そしてその違いは必ずしも
ハードウェアだけの問題ではない。
0643デフォルトの名無しさん
NGNGなどなど役に立つ
というか必須
0644デフォルトの名無しさん
NGNGメモリ空間というものを意識して理解いていけと。
0645デフォルトの名無しさん
NGNGそれはハードウェアにも関る場合が多いだろうが
今回の話とは関係ない。
0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNG便利だよな。このスレには毛嫌いしている粘着がいるが
どんどん使おうぜ。どうせ今やちょっとした物はGUIなんだ。
心得てない奴らの想定外の使用など気にすることはないぜ
0648デフォルトの名無しさん
NGNG0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNG0651デフォルトの名無しさん
NGNG0652デフォルトの名無しさん
NGNG周りを侵略するのは男の本懐だからな。
どんどんオーバーフローしようぜ
0653デフォルトの名無しさん
NGNG0654ガッ>>651
NGNG0655デフォルトの名無しさん
NGNGその話はマ板で思う存分して下さい
0656デフォルトの名無しさん
NGNGhttp://rec.ncos.co.jp/
0657_
NGNG0658デフォルトの名無しさん
NGNGこのデカ文字とブリンク、どこかでみたことがあるぞ。おいおいとつっこみたくなるような内容が多かったような・・・・
0659デフォルトの名無しさん
NGNGstdio.hに書いてないもんで・・・
0660デフォルトの名無しさん
NGNGFILE使ったソースコードをcppすればわかる
0661デフォルトの名無しさん
NGNGFILEのメンバーを知りたい時ってどんな時だ!?
ファイルディスクリプタを得たいならfilenoを使え(もちろん標準関数ではない)。
0662デフォルトの名無しさん
NGNGfjの嫌われ者の田部のページだね。
0663621
NGNGありがとうございます。
今回は行列のサイズがp0[30][75], p1[20][50] のサイズなので、
forループとnewかvectorクラス使います (C++コンパイラ使用)
0664デフォルトの名無しさん
NGNG#include "CScreen.h"
CScreen scr;
void main(void)
{
int ten[7][7];
char name[6][7];
printf("1人目の氏名入れて(7文字以内)");
LOCATE(2,6);
rewind(stdin);
scanf("%s",name[0]);
LOCATE(20,20);
printf("%sさんの国語の点入れて ",name[0]);
LOCATE(17,6);
scanf("%d",&ten[0][0]);
/*省略させてもらいます*/
LOCATE(20,20);
printf("2人目の氏名入れて(7文字以内)");
LOCATE(2,8);
rewind(stdin);
scanf("%s",name[1]);
/*省略させてもらいます*/
プログラム自体はできてるんですが質問があります。
char name[6][7];
の宣言はnameという変数名の箱を6個で、1箱7文字まで入るという意味で合ってるんでしょうか?
scanf("%s",name[0]);
で7文字以上打ってもname[0]には7文字しかはいらないから
printf("%sさんの国語の点入れて ",name[0]);
では7文字までしか出力されないはずだと思うのですが
8文字以上出力されてしまいます。
なぜでしょうか?
0665デフォルトの名無しさん
NGNG違います、7文字(6文字+NULL終端)までしか入れちゃダメ、という意味
0666664
NGNGではchar name[6][7]; の[7]は本当はそれ以上も入ってしまうって
ことですか?
/\⌒ヽペタン
/ /⌒)ノ ペタン 慌てるな
∧_∧ \ ((
<; `щ´>∧_∧
/ ⌒ノ(・ω・ ;)⊂⌒ヽ
.(O ノ ) ̄ ̄ ̄()__ )
)_)_) (;;;;;;;;;;;;;;;;)(_(
0667デフォルトの名無しさん
NGNGでもその管理はコンパイラはしてくれません、
プルグラマが責任持て
0668664
NGNG∧_∧
( ´・ω・) みなさん、お茶が入りましたよ・・・・。
( つ旦O
と_)_) 旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦
0669デフォルトの名無しさん
NGNG入力をfgets()で行い文字数制限はsscanf()(或いはsprintf())で行えばよい。
#勿論、fgets()でも文字数制限はできるが。
0670デフォルトの名無しさん
NGNGfget(hoge, 3, stdin);
って感じですか?
0671デフォルトの名無しさん
NGNGじゃなくて
fgets(hoge, 3, stdin);
でした・・・
0672デフォルトの名無しさん
NGNG0673デフォルトの名無しさん
NGNG0674デフォルトの名無しさん
NGNG馬鹿か?
0676デフォルトの名無しさん
NGNG0677デフォルトの名無しさん
NGNG0678デフォルトの名無しさん
NGNG改行?
0679デフォルトの名無しさん
NGNGでn-1の長さの(\0を除く)文字列を取り入れるんじゃなかった?
だとしたら…
0680デフォルトの名無しさん
NGNG0681デフォルトの名無しさん
NGNGそれくらいなら、1行を安全に確保するようにして、残りを文字列処理すればいい。
つーところかな。
まぁ、>677は恥を晒したわけだが。
0682デフォルトの名無しさん
NGNGまぁ、それよりも余分に読み込んだ方がいいわけだが。
0683デフォルトの名無しさん
NGNG0684デフォルトの名無しさん
NGNG0685デフォルトの名無しさん
NGNGウソツキ
0686デフォルトの名無しさん
NGNG0687デフォルトの名無しさん
NGNGfgets(char *str, int size, FILE *stream);
The fgets() function reads at most one less than the number of characters
specified by size from the given stream and stores them in the string
str. Reading stops when a newline character is found, at end-of-file or
error. The newline, if any, is retained. If any characters are read and
there is no error, a `0' character is appended to end the string.
0688686
NGNGそうか。0渡すと面倒なことになるんだ。
じゃあ1024
0689デフォルトの名無しさん
NGNG改行を格納するのは、ファイルから読み込んだ時だよ。
標準入力の時は、改行は格納しない。
0690デフォルトの名無しさん
NGNGそんなことないYO (^_^;)
改行を格納しないのはgets
0691デフォルトの名無しさん
NGNG#include <stdio.h>
int main()
{
char buf[1024];
fgets(buf, sizeof buf, stdin);
printf("[%s]\n", buf);
return 0;
}
で
123
[123
]
となるのだが。
0692デフォルトの名無しさん
NGNG標準入力もファイルも同じファイルストリーム
0693デフォルトの名無しさん
NGNGfwriteで書き込むと、そこにあったものが上書きされます。
これを上書きではなくて、挿入にするにはどうすればいいでしょうか。
0694デフォルトの名無しさん
NGNG挿入したい部分より後ろをメモリに読み込む。
挿入したいデータを書き込む。
その後ろに先ほどメモリに読み込んだものを書き込む。
0695デフォルトの名無しさん
NGNGもしできるなら、どうかその方法をお教えください
0696デフォルトの名無しさん
NGNG何を言っているんだろう・・・・
定数を入れたいのか?
int *p=(int *)0x015689EF;
0以外はこんな風にすればできると思うけど。
0698デフォルトの名無しさん
NGNGを
int giko(void);
とか言ってるヴァカがいるスレはここですか?
0699デフォルトの名無しさん
NGNG0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNGちがうの?
0702デフォルトの名無しさん
NGNGextern giko();
じゃないと警告されるような。
0703デフォルトの名無しさん
NGNGたとえば、
void a()
{
while(1) { printf("a"); SwitchThread(); }
}
void b()
{
while(1) { printf("b"); SwitchThread(); }
}
void main()
{
MakeThread(&a);
MakeThread(&b);
while(1) SwitchThread();
}
があったとして、それぞれSwitchThread()で
実行が切り替わるようなことをしたいのですが、
SwitchThread()をどう作ればいいのやら…
0704デフォルトの名無しさん
NGNG0705デフォルトの名無しさん
NGNG0706デフォルトの名無しさん
NGNGありがとうございます。
setjmpの勉強してきます。
0707デフォルトの名無しさん
NGNGマクロでもないのに全て大文字にした理由が分からない
0708デフォルトの名無しさん
NGNGstruct list { char data ; struct list *nextptr ; } ;
と宣言されていて
struct list *p = NULL ;
とした状態だと
p->nextptr
これもNULLポインタになるんでしょうか?
0709デフォルトの名無しさん
NGNGpはNULL
それを->を使って参照してはいけないYO!
0710デフォルトの名無しさん
NGNGやってみてよ。
p->nextptr ←オブジェクトもないのにどこをさしてんの?ってこと。
実行すると見つけることが出来ずエラーを起こす。
0711デフォルトの名無しさん
NGNG( ´∀`)<ぬるぽ
0712デフォルトの名無しさん
NGNG( ´∀`)< ガッ
0713デフォルトの名無しさん
NGNGCのある関数からインラインアセンブラのラベルにジャンプするにはどうすればいいのでしょうか?
以下のような場合です.
asm("
MYLABEL:
movl ...(ここでの処理)
");
int main(){
...
//ここからジャンプしたい
}
アセンブラはgasです.
ちなみにmain内に以下のように記述してもダメでした.
asm(
"movl %0 %%eax\n"
"jmp %%eax\n"
:: "g"((void *)MYLABEL)
: "ax"
);
MYLABELが未定義である,というエラーが出ます.
どうやら同じasm("");内のラベルしか参照できないようです.
どなたかご教授お願いします.
0714デフォルトの名無しさん
NGNG>>1 GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo!
0715_
NGNG0716デフォルトの名無しさん
NGNGソースの構造がよく分からないがBcc32では下は通る
#pragma inline
int main(){
asm{
xor ax,ax;
label1:xor bx,bx;
}
goto label1;
return 0;
}
0717デフォルトの名無しさん
NGNGありがとうございます.
通るのはラベルが同じmain()内にあるからではないでしょうか.
とりあえずやりたいことは,
ある関数から外部にある(関数内ではない)インラインアセンブラのコードにジャンプする
ことです.
0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNG外部にあるインラインアセンブラという意味が分からない
インラインアセンブラなのだから何かの関数に
埋め込まれているのではないのか?
0720sage
NGNGスタックフレームを変化させずに呼び出したいのです.
0721デフォルトの名無しさん
NGNG>>719
inlineというのはCの関数内に記述するからそう呼ばれるのではないのですか?
それともインラインアセンブラは必ずどこかの関数内に記述しなければならないのでしょうか?
0722デフォルトの名無しさん
NGNGそれはアセンブラに展開してから埋め込みでもしないと無理じゃないか?
別の位置に記述したいというだけならばdefineマクロが使えるか知らん
>>721
「Cの関数内に記述」と「どこかの関数内に記述」は同じかと。
ファイル内ということならそもそもコード以外のところは無理だろう
0723デフォルトの名無しさん
NGNG0724デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNG素直に
__asm__("jmpl MYLABEL");
で通らないかい?
0726デフォルトの名無しさん
NGNGYを押したら上に、Gを押したら左に、Hを押したら右に、
Bを押したら下に1マス分移動するプログラムを作りたいんですが、
アルゴリズムはどうしたらいいでしょうか?
思いつかないのでヒントお願します。
0727デフォルトの名無しさん
NGNGアルゴリズムなら726が答えだと思うけど。
0728デフォルトの名無しさん
NGNG一度消してから空白を入れたりバックスペース、改行などを
駆使したらできますか?
0729デフォルトの名無しさん
NGNG集合として使える。
0730デフォルトの名無しさん
NGNGプラットフォームによるだろう
0731デフォルトの名無しさん
NGNGぐ、具体例をなにか挙げてくれたら嬉しいです。
0732デフォルトの名無しさん
NGNGそのまえによ、適したスレにいけや。
0733デフォルトの名無しさん
NGNGたとえばコンフィグ画面などで、項目のON/OFFをチェックする際に
項目の数だけフラグ変数を用意するよりも、変数を1つだけ用意して
各ビットのON/OFFで判定できたら、嬉しくないですか?俺は嬉しい。
全てONなら ~0、全てOFFなら 0 を代入するだけで済んでしまう所も
嬉しい。
0734デフォルトの名無しさん
NGNGつまんねんぇことで嬉しがれるんだな。
0736デフォルトの名無しさん
NGNG0737デフォルトの名無しさん
NGNGvoid main(){
int a,i;
a = 500000;
for( i=1 ; i=24 ; i++ ){
a = a*1.1;
}
}
コンパイルすると
おそらく不正な代入、'i'に代入した値は使われていない とエラーが出ます
どこに問題があるのでしょうか?
時間経つとやる気が萎えるので早めにレスくれたらありがたいっす
0738デフォルトの名無しさん
NGNG0739デフォルトの名無しさん
NGNGfor( i=1 ; i=24 ←ここ ; i++ ){
0740737
NGNGそこ実行する条件でしたね・・・よく終了する条件と勘違いしてしまいます
鬱堕詩嚢
レスサンクスでした
0741デフォルトの名無しさん
NGNGなんにも分かっていない
=は代入
0743デフォルトの名無しさん
NGNGi=24なんてやったら無限ループだ
0744デフォルトの名無しさん
NGNG0745740
NGNG出直してきます
0746デフォルトの名無しさん
NGNG0748デフォルトの名無しさん
NGNGCのint型は2バイトじゃなかったけ?確か6万5千・・・しか入らないよ!
C++のint型はCPUのビット数になる
javaのint型は4バイトです。
0749デフォルトの名無しさん
NGNG簡単だよ
0750デフォルトの名無しさん
NGNG初耳です
0751デフォルトの名無しさん
NGNG釣りか?
それとも、釣りか?
0752デフォルトの名無しさん
NGNG画像データのRGB 2の8乗255階乗の下位8ビットに文字情報を埋め込んだり、
通信データの各OSI参照層のビット操作など色々・・・
0753デフォルトの名無しさん
NGNG神
0754デフォルトの名無しさん
NGNG激しく�dクス
0755748
NGNGCのint型は2または4バイトであると定義されてる。お前の環境では4バイト
かも知れないが、顧客では古いマシンを使ってるところがあるので、2バイト
で使うんだよ!
常識だろ!!!
0756デフォルトの名無しさん
NGNG0757デフォルトの名無しさん
NGNG747,752と748はレスした相手が違うんだが
0758デフォルトの名無しさん
NGNGどこで定義されているんだよ(;´Д`)
0759デフォルトの名無しさん
NGNG釣られんなよ、だっせー
0760デフォルトの名無しさん
NGNGお前は世界観がとてつもなく狭い
0761667
NGNGエネル!
0762デフォルトの名無しさん
NGNG関数辞典の一番初めでも見てみろ!
0763デフォルトの名無しさん
NGNG貴様、神に向かって世界観が狭いとは無礼にもほどがあるぞ
0764デフォルトの名無しさん
NGNG0765デフォルトの名無しさん
NGNG0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNG0768デフォルトの名無しさん
NGNG0769デフォルトの名無しさん
NGNGYを押したら上に、Gを押したら左に、Hを押したら右に、
Bを押したら下に1マス分移動するプログラムを作ってください。
できたら漏れの次に天才。
明日の夜に回答を出します。
0770デフォルトの名無しさん
NGNG具体的なサイズまでは規定されていない。
0771769
NGNGふん、俺しか分からないだろう
0772デフォルトの名無しさん
NGNG{
int a[2];
int *p, *tmp;
p = &a[0];
tmp = p;
*p = 10;
p++;
*p = 20;
p = tmp;
printf("%d, %d\n", *p, *(p++));
}
これを実行すると、10, 20 とでると思ったのに、20,10とでちまいまつ。
なんででしょうか?
0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNGそれに後置インクリメントじゃますます意味がない。
printf("%d, %d\n", *p, *(p+1));
0775デフォルトの名無しさん
NGNG仮じゃなくて実(;´Д`)
0776デフォルトの名無しさん
NGNG0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNGすまそ逆に言ってしもた。
0779デフォルトの名無しさん
NGNGC++のint型はCPUのビット数になる
javaのint型は4バイトです。
0780デフォルトの名無しさん
NGNG0781デフォルトの名無しさん
NGNG2カイメダヨ( ´д)ヒソ(´д`)ヒソ(д` )ヒソ
0782デフォルトの名無しさん
NGNG0783デフォルトの名無しさん
NGNG具体的なサイズまでは規定されていない。
0784デフォルトの名無しさん
NGNG具体的なサイズまでは規定されていない。
0785デフォルトの名無しさん
NGNG0786デフォルトの名無しさん
NGNGFrom K&R
0787デフォルトの名無しさん
NGNGおっと、K&Rの時代か。
0788デフォルトの名無しさん
NGNGあほ?
0789デフォルトの名無しさん
NGNG0790デフォルトの名無しさん
NGNGwhile( 1 )
{
/* 処理 */
}
とかなってたりして(w
0791デフォルトの名無しさん
NGNGint b;
a = malloc(1);
b = strlen(a);
とした時にbが5となるのはなぜでしょうか?
絶対にaの長さ+4になるのですが意味が分かりません
どなたか分かる方いらっしゃいませんでしょうか?
0792デフォルトの名無しさん
NGNGaに無いも代入してないからたまたま6バイト目に'\0'があったんだろ
0793デフォルトの名無しさん
NGNG絶対になるとは限りませんよ。
まずstrlenが何をする関数か知ってますか?
与えられたポインタから'\0'が出てくるまでのバイト数を返す関数です。
そして、mallocで確保した領域には何が書かれているかわかりません。
あなたが5というのが出てきたというのはaが指す先から6文字目に'\0'があったのでしょう。
無論mallocで確保した領域を越えた不正アクセスになってます。
0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNG(((( ;゚Д゚))) ガクガクブルブル
0796デフォルトの名無しさん
NGNG0797デフォルトの名無しさん
NGNGcallocを使えば長さは0になるよ
0798デフォルトの名無しさん
NGNG(・∀・) ファイルが開けないんです
0799デフォルトの名無しさん
NGNGで?
0800デフォルトの名無しさん
NGNG(・∀・)チャックが開かないんです
0801デフォルトの名無しさん
NGNGどっかで、自分でコンパイラを組めば勉強になると聞きました。
0802デフォルトの名無しさん
NGNG0803デフォルトの名無しさん
NGNGコンパイラを組めば勉強になると言った人もアレだが、
それを信用する人もアレだぞ。
何か自分の作りたいものを作れば良い。
何かのツールでもいいし、ゲームでもいいし。
そうやっていろいろやってれば、自然と勉強になる。
0804デフォルトの名無しさん
NGNGソフトウェア作法
0805デフォルトの名無しさん
NGNGconst int (*xp)[2] = x; // 警告
const int (*x_p)[3][2] = &x; // 警告
// typedef int int_pair_by_int_array[2];
int_pair_by_int_array a[3] = {{1,2},{3,4},{5,6},};
const int_pair_by_int_array *ap = a; // 警告
const int_pair_by_int_array (*a_p)[3] = &a; // 警告
// typedef struct { int a, b; } int_pair_by_struct;
int_pair_by_struct b[3] = {{1,2},{3,4},{5,6},};
const int_pair_by_struct *bp = b; // OK ←どうしてこいつだけOK?(MinGW環境でつ)
const int_pair_by_struct (*b_p)[3] = &b; // 警告
0806デフォルトの名無しさん
NGNG0807デフォルトの名無しさん
NGNGそか?
コンパイラやインタプリタはすごい勉強になるよ。
0808デフォルトの名無しさん
NGNG物事には段階というものが...。
0809デフォルトの名無しさん
NGNG> int x[3][2] = {{1,2},{3,4},{5,6},};
> const int (*xp)[2] = x; // 警告
C ではこういう時にはキャストが必要になる。
C++ だといらないんだけどね。
0810デフォルトの名無しさん
NGNGべつに市販品なみの物を作るってわけじゃないし、
小さいものなら数百行程度でできるから、ちょうどいい教材だと
おもうけど。
0811デフォルトの名無しさん
NGNG0813デフォルトの名無しさん
NGNGそんな書き方する人いるの?
見にくいよ!
0814デフォルトの名無しさん
NGNGint x[3][2] = {{1,2},{3,4},{5,6},};
const int (*xp)[2] = x;
なんでこれで警告がでるんだろう・・・・
VC++6.0ではxpを使いさえすれば警告はでないよ(/W4つきで)
0815814
NGNG0816ひよこ名無しさん ◆YFbiU3aPps
NGNG注釈文にすることを「コメントアウト(comment out)」って言いますよね。
じゃあ、逆にコメントから外すことは何て言うんですか?
0817デフォルトの名無しさん
NGNG復活
0818デフォルトの名無しさん
NGNG0819デフォルトの名無しさん
NGNG0820r
NGNG0821デフォルトの名無しさん
NGNG0822デフォルトの名無しさん
NGNG演習問題あるよん
0823ヽ(´ー`)ノ
NGNGてか C に関k(略
0824デフォルトの名無しさん
NGNG> printf("差 = %lf\n", a-b);
なんだよこれ(´Д`;)
printfに%lfなんてねーよ(´Д`;)
0825824
NGNGdoubleに%lfは不適切
0826824
NGNG0827デフォルトの名無しさん
NGNG規格には%lfというのはないだろう。
printfのプロトタイプはint printf(const char *, ...);だから、
floatは格上げされてprintfにdoubleが渡る。
もしもlong doubleなんてものがある処理系だったら、
%lfとかいうものがあるかもしらんね。
0828デフォルトの名無しさん
NGNGlong doubleはANSI CにあるYO!
で、それは%Lf
0829デフォルトの名無しさん
NGNGuncommentかもしんない
ちなみに、"opposite of comment out"で探してみた
0830デフォルトの名無しさん
NGNGをちゃんと書いたほうがいいといわれ、
書いてるんですが、いつも未定義のシノルと出ます。
Why?
0831830@バカ
NGNG0832デフォルトの名無しさん
NGNG未定義のシンボルって多分リンク時のエラー。
return 0;は関係ないと思う。
0833デフォルトの名無しさん
NGNGC99 のことなら、
× _bool
× BOOL
× Bool
◯ _Bool
typedef なら全部可。
0834名無し@沢村
NGNG「C言語ならおれに聞け」って、C言語についてわからないことがあって質問するとう行為がおれには理解できんね。
例えば量子の動きがわからないとかDNAの構造がわからないとか言うんだったらわかるよ。
それらは自然がつくったもので、これから人間が解明していくものだからね。
しかしC言語は人間がつくったもので、それは公知のものだから、それが100%理解できんということは、おかしいだろうが!?えっ!?おまいらよ!?
0835デフォルトの名無しさん
NGNGワロタ
0837デフォルトの名無しさん
NGNGあたまわるいなー
0838デフォルトの名無しさん
NGNG「C言語」を「数学」に置き換えて読んでみたらどれだけナンセンスかわかるわなw
数学は純粋に人間の頭だけの人工的な世界なのに、未解決の難問がいくらでもある。
別に連続体仮説とかそういうの持ち出さなくても数学が理解できないとか苦手という人は山ほどいる。
あ、別におきかえんでもナンセンスさはわかるか。
おれは冗談だと思って読んだけどw
0839デフォルトの名無しさん
NGNGretrun 0; とか書いてるに1票。
0840デフォルトの名無しさん
NGNGそれだとsyntax errorだろう。未定義のシンボルになるには、
retrun(0);
などと書いてるんじゃないかな。
0841デフォルトの名無しさん
NGNGそれだな。
C++ならエラーになるんだろう(宣言無しの呼び出しで)が、Cだと宣言は必須じゃないしな・・・
0842デフォルトの名無しさん
NGNG0843デフォルトの名無しさん
NGNG0844デフォルトの名無しさん
NGNG数学は自然科学ですよ
0845デフォルトの名無しさん
NGNG0846デフォルトの名無しさん
NGNG科学じゃなくて、それを記述するための道具だろ?
0847デフォルトの名無しさん
NGNGこのソースからいらないところを切り取って、
「縦横にキー入力で移動するプログラムを作れ」といわれたのですが、
よく分かりません。簡単に説明してもらえないでしょうか。
このソースの動きについてもお願します。
0848デフォルトの名無しさん
NGNGchar panel[Y][X*MOJI]={のYとX*MOJI
0849デフォルトの名無しさん
NGNGつねに自然科学の最も抽象化された分野であると思う
その成果が余りにも生活感覚から離れているために
それを忘れがちなだけなのではないか?
0850デフォルトの名無しさん
NGNG0851デフォルトの名無しさん
NGNGTabなら移動って書いてあるから、その代わりに複数のキーを割り当てて縦横に動けるようにすればいいんじゃないの。
0852デフォルトの名無しさん
NGNGA[ ] B[ ] C[ ]
D[ ] E[ ] F[ ]
も削除するにはどのようにしたら良いでしょうか
0853852
NGNGカーソルが縦横に動く原理だけでも今理解したいのです。
0854848@あほ
NGNG初歩の初歩だ。
0855デフォルトの名無しさん
NGNG本当はスレ違いだけど・・・まあいいか。
http://www.gaia.h.kyoto-u.ac.jp/users/izui/technotes/escape.html
0856852
NGNGすみませんでした。
どうもありがとうございます。
0857デフォルトの名無しさん
NGNGこれをベースにup()、down()、right()、left()
という関数をつくればいい。
0858デフォルトの名無しさん
NGNG量子もDNAも数学も人間が勝手に作った概念だよ
おまえさん、自然と人工の境がまるで解ってないな
0859デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNG何がなんだか俺には分からん。
ESC[pl;pcHってどうやって記述すんだYO!
少なくとも>>852には理解できないだろう。
どうすんだこのやろ
0862デフォルトの名無しさん
NGNGprintf("\033[1;1H");
0863デフォルトの名無しさん
NGNG覚えないといかんのか?
0864デフォルトの名無しさん
NGNGASCIIでESCは27 それを8進数にすると33
だから\033
0865デフォルトの名無しさん
NGNGsin(),cos(),tan()
と同じ関数を1から作りたいのですが
何処かに、詳しいコメント付きソースは無いですか?
知ってる方は教えて下さい
0866デフォルトの名無しさん
NGNG0867853
NGNGint main(void){
char a;
int b,c;
b=1,c=1;
a=getchar();
if('a'=='y'){
c++;
printf("\033[b;cH");
}
}
わけわかんなくなってしまいました。
多分、180度逆の方向に・・・。
思いっきり叩いてください。
0869デフォルトの名無しさん
NGNGglibcなり、FreeBSDのソース見れ
0870デフォルトの名無しさん
NGNGもしかしてbやcが展開されると思った?
そういうときはprintf("\033[%d;%dH",b,c);とする。
0871デフォルトの名無しさん
NGNG時代の差かなぁ〜…。
0872デフォルトの名無しさん
NGNGコメントって付いてます?
0873853
NGNGそうだったんですか。
気を付けます。
でも、まだ間違いがてんこもりの予感
0874デフォルトの名無しさん
NGNGEnglishなCommentがたーくさん
0875デフォルトの名無しさん
NGNG実際のソースが見つからないんですけど、
どのソースのアーカイブに含まれてるんでしょうか?
0876保守
NGNG0877デフォルトの名無しさん
NGNGsin.cをfindして出てこない?
VC++にもその名前ではないんだよね・・・
0878867
NGNGそれを参考にしたいのですが。
自分が至らないばかりに・・・。
すみません。叩きまくってください。
0880865
NGNGcygwinのソースから探してるんですけど
それぞれの関数の本体らしきソースは出て来ません
と言う訳で、どのソースにsin()等の本体があるか知ってる方は教えて下さい
0881877
NGNG中略
if(a=='y'){
0882デフォルトの名無しさん
NGNG>>865
ftp://ftp.matsusaka-u.ac.jp/pub/algorithms/src/trig.c
0884デフォルトの名無しさん
NGNGとりあえず、エスケープシーケンスでググッてみ。
0885865
NGNGじっくり、ソースを読んでみます
0886867
NGNGint main(void){
char a;
int b,c;
b=1,c=1;
a=getchar();
if(a=='y'){
c++;
printf("\033[%d;%dH",b,c);
}
}
どうもです。あれからちょっと変えてみたんですが、全く
実行されません。ヽ(`Д´)ノ
0887867
NGNGこんなにアドバイスもらってるのに・・・鬱。
がんがろ
0888デフォルトの名無しさん
NGNGちゃんとエスケープシーケンスをサポートするコンソールで実行しているか?
0889デフォルトの名無しさん
NGNG実行すると即終了してるということ?
ループ回さないと。
でないならどこでどう動かないか明記して。
ttp://bbs.gamdev.org/test/read.cgi/gamedev/1055402150/18
0890デフォルトの名無しさん
NGNGioctl関数を使用してカーネルバッファリングの
バッファサイズを強制的に0にして
ファイル入出力の時間を計測せよ.
カーネルバッファリングのバッファサイズを0にするために,
ioctl関数をどのように使用すればいいですか?
0891デフォルトの名無しさん
NGNGとりあえず所定の環境のスレで聞くことじゃな。
0892デフォルトの名無しさん
NGNG>>888か、結果が目に見えていないだけのような・・・
0893デフォルトの名無しさん
NGNGここがいいとおもったんですが,
どの板ですか?
0894デフォルトの名無しさん
NGNG板はここでいいが、スレは適切でない。
もしUNIXならUNIXプログラミングスレへ。かなり雰囲気悪いけど。
0895デフォルトの名無しさん
NGNGラ板
0896デフォルトの名無しさん
NGNGb と c をもうちっと大きな値にして、
その後に何か表示してみるといいかと。
0897デフォルトの名無しさん
NGNGは良くても
int a = b = 0;
は良くないと聞いたのですが、
どこが問題なのでしょうか?
0898デフォルトの名無しさん
NGNGbが未定義
初期化の=と代入の=は違うよ。
0899デフォルトの名無しさん
NGNGint a=b=0;
これならOK
0900897
NGNGサンクスです。
0901デフォルトの名無しさん
NGNGa = b = 0;
普通こうする
0902デフォルトの名無しさん
NGNGそういえば最近、そういう書き方してないな。
a = 0;
b = 0;
こうやって、必ず分けて代入してる。
0903デフォルトの名無しさん
NGNGmemset(&a,0,sizeof(int));
0904デフォルトの名無しさん
NGNGa-=a;
0905デフォルトの名無しさん
NGNGa ^= a;
0906デフォルトの名無しさん
NGNGa %= a;
0907デフォルトの名無しさん
NGNGa&=0;
0908デフォルトの名無しさん
NGNGa=strlen("");
0909デフォルトの名無しさん
NGNGa = atoi("0");
0910デフォルトの名無しさん
NGNGa="910get"[6];
0911デフォルトの名無しさん
NGNGa = !1;
0912デフォルトの名無しさん
NGNGとか言いながらfor(a = 0, b = 0;なんちゃってな
0913デフォルトの名無しさん
NGNGa = &a - &a;
0914デフォルトの名無しさん
NGNGa='-'-'-';
0915デフォルトの名無しさん
NGNGa = 3["915"];
0916デフォルトの名無しさん
NGNGa=a>a;
0917デフォルトの名無しさん
NGNGa=stderr-stdin>>stdout-stdin>>stderr-stdout;
0918デフォルトの名無しさん
NGNGa=(int)fopen("*.*","w");
0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNGa=~((unsigned)-1>>1)-INT_MIN;
0921デフォルトの名無しさん
NGNGa=printf("");
0922デフォルトの名無しさん
NGNGマクローリンの定理でも使っとけ
0923デフォルトの名無しさん
NGNGおいおい、それでファイルが作れちゃうOSもあるぞ。
0924デフォルトの名無しさん
NGNGそれ、コンパイル通る?
0925デフォルトの名無しさん
NGNGありますか?教えて下さい。
↑のコードを実行してみたいので
0926925
NGNG0927デフォルトの名無しさん
NGNGエスケープシーケンスは実行環境依存。
コンパイラの問題じゃないのでスレ違い。
0928925
NGNGWinXPでBCC55使ってるんですが、
無理ですた。
0929デフォルトの名無しさん
NGNGwindows2000/xpのコンソールでは、
エスケープシーケンスは使えないみたい。
APIを使うしかないね。
0930925
NGNG#include <stdio.h>
int main(void){
int a,b,c;
b=1,c=1;
a=getchar();
if(a=='y'){
b++;
printf("\033[%d;%dH",b,c);
}
else if(a=='b'){
b--;
printf("\033[%d;%dH",b,c);
}
else if(a=='g'){
c--;
printf("\033[%d;%dH",b,c);
}
else if("a=='h'){
c++;
printf("\033[%d;%dH",b,c);
}
printf("\n\n↑ yボタン\n↓ bボタン\n");
printf("← gボタン\n→ hボタン\n");
}
このソースのどこを変えたら・・・鬱
0931デフォルトの名無しさん
NGNG0932デフォルトの名無しさん
NGNG定期的に登る話題だな
"猫でもわかる"でぐぐれ。
0933デフォルトの名無しさん
NGNG即席 & 処理系依存
#include <stdio.h>
#include <windows.h>
#include <conio.h>
int main(void)
{
HANDLE hOut;
COORD new_coset = {0, 0}, old_coset = {0, 0};
DWORD dwResult;
int c;
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
do{
if(SetConsoleCursorPosition(hOut, new_coset) == 0) return(-1);
if(WriteConsole(hOut, "○", 2, &dwResult, NULL) == 0) return(-1);
c = getch();
if(c == 'y') new_coset.Y--;
if(c == 'b') new_coset.Y++;
if(c == 'g') new_coset.X--;
if(c == 'h') new_coset.X++;
if(SetConsoleCursorPosition(hOut, old_coset) == 0) return(-1);
if(WriteConsole(hOut, " ", 2, &dwResult, NULL) == 0) return(-1);
old_coset.X = new_coset.X;
old_coset.Y = new_coset.Y;
}while(1);
return(0);
}
0934933
NGNG0935ビル・ジョブス
NGNG皆さんお元気そうで何よりです。(^^)
0936デフォルトの名無しさん
NGNG0937デフォルトの名無しさん
NGNG誰?
0938デフォルトの名無しさん
NGNGこのスレのPart1をたてやがった大馬鹿者。
0939デフォルトの名無しさん
NGNG完璧です!どうもありがとうございます。
ちなみにC歴はどのくらいなんでしょうか?
0940デフォルトの名無しさん
NGNG知りたがりは早死にする
0941デフォルトの名無しさん
NGNG教えてあげないよ♪ジャン byポリンキー
0942デフォルトの名無しさん
NGNG0943デフォルトの名無しさん
NGNGスレ違いだが教えてやろう。system("stty raw"); すればいい。
あとは犬板なりunix板なりunixスレなり行ってくれ。
0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNG0946デフォルトの名無しさん
NGNGCの掲示板はこちらへ移動しました。
雑談・質問なんでもこちらへどうぞ。
0947デフォルトの名無しさん
NGNGa+=~a+1;
0948デフォルトの名無しさん
NGNGwhile(a=rand());
0949デフォルトの名無しさん
NGNG_asm { mov a,0 }
0950デフォルトの名無しさん
NGNG#define a 0
0951デフォルトの名無しさん
NGNGそれは知らんかった。どこのやつ?
>>924
ちょっと古いコンパイラで試してみそ
0952デフォルトの名無しさん
NGNGa<<=(sizeof(int)*CHAR_BIT-1);
0953デフォルトの名無しさん
NGNG0954952
NGNG0955デフォルトの名無しさん
NGNGだめ
0957953
NGNG0958955
NGNG頼んだ
0959デフォルトの名無しさん
NGNG0960デフォルトの名無しさん
NGNGlimits.hやfloat.hで定義されているマクロで
0961デフォルトの名無しさん
NGNG次スレ
http://pc2.2ch.net/test/read.cgi/tech/1056806789/
0962デフォルトの名無しさん
NGNGとってもサンクス
0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNGhttp://www5.tok2.com/home2/tv/cgi-bin/src/img20030629022414.avi
http://img.2chan.net/b/src/1056820907003.jpg
http://mistercap.hp.infoseek.co.jp/cgi-bin/source/img20030629022127.jpg
http://upload.fam.cx/cgi-bin/img-box/lsi30629022040.jpg
http://www5.tok2.com/home2/tv/cgi-bin/src/img20030629022120.jpg
http://mistercap.hp.infoseek.co.jp/cgi-bin/source/img20030629021948.jpg
0965デフォルトの名無しさん
NGNGありがトン(´Д`)ノ⌒■
0966デフォルトの名無しさん
NGNG0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNGだめ。
0971デフォルトの名無しさん
NGNG0972デフォルトの名無しさん
NGNGという引数で、
**argv, *argv, argv[], argv は、それぞれ何を表しているんですか?
0973デフォルトの名無しさん
NGNGコマンドライン引数 http://www9.plala.or.jp/sgwr-t/c/sec11-4.html
0975デフォルトの名無しさん
NGNG∧_∧
( ´∀`)< ぬるぽ
0976デフォルトの名無しさん
NGNG( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>975
0977デフォルトの名無しさん
NGNG( ´∀`)<
0978デフォルトの名無しさん
NGNG0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNG0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNG0985デフォルトの名無しさん
NGNG0986名無し@沢森
NGNG0987デフォルトの名無しさん
NGNG( ´∀`)< ぬるぽ
0988デフォルトの名無しさん
NGNG0989デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1057677056/
0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG( ´∀`)<
0993デフォルトの名無しさん
NGNG[ `↓´] | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/ ←>>992
(_フ彡 /
0994デフォルトの名無しさん
NGNG( ´∀`)<埋め立てぬるぽ
0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNG0998_
NGNG0999銀河鉄道
NGNG1000999
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。