C言語なら俺に聞け! Part 80
レス数が1000を超えています。これ以上書き込みはできません。
0001ぼるじょあ ◆yBEncckFOU
NGNG質問する前には最低限検索を。
GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo! (←ここ注目)
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。
コンパイラを探しているなら >>2-13 を。
上記を逸した場合の結果は激しく未定義だYO!
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
各種リンクは>>3-20あたり(誰か適当に貼って)
推奨NGワード: 「;-)」 「;)」 「ぼけ」 「頭悪すぎ」
C言語なら俺に聞け! Part 79
http://pc5.2ch.net/test/read.cgi/tech/1084138965/
他の過去ログはここに
http://nssearch.hp.infoseek.co.jp/clang/
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/
【ライセンスや機能などに問題あり】
Microsoft 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
Intel C++ Compiler for Linux
http://developer.intel.com/software/products/compilers/clin/noncom.htm
0003デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG乙。だがスレタイに「ぼけ」が入ってないだろ ぼけ
0006デフォルトの名無しさん
NGNG設定変えられるだろ
0007デフォルトの名無しさん
NGNGダメージをランダムに0〜200以内で発生させるにはどうしたら良いでしょうか
0008デフォルトの名無しさん
NGNGhttp://www.kouno.jp/home/c_faq/c13.html
ここの13.15と13.16
00097
NGNG#include <stdlib.h>
#include <time.h>
#include <assert.h>
#define sleep 200
#define N 200
void sleeps(int count)
{
clock_t t = clock() * (1000/CLOCKS_PER_SEC);
clock_t tterm = t + count;
while (t < tterm) {
t = clock() * (1000/CLOCKS_PER_SEC);
assert(t != (clock_t)-1);
}
return;
}
int param(int count)
{
count=0;
int i=0;
00107
NGNGfor(count=0; count<10; count++) {
printf("■");
sleeps(sleep);
}
printf("\n");
return 0;
}
int main(int i)
{
int j=0;
while(1) {
param(1);
printf("味方の攻撃 %d\n", (int)((double)rand() / ((double)RAND_MAX + 1) * N));
sleeps(sleep);
}
return 0;
}思いっきり途中ですけど、ここまで出来ましたが攻撃時の数値がランダムになりません
どうすれば良いでしょうか。
0011デフォルトの名無しさん
NGNGsrand
00127
NGNG0013デフォルトの名無しさん
NGNGsrand?どこで?
0014デフォルトの名無しさん
NGNG■のパラメータが10個溜まるのを0.2秒置きにしてあります。
これも0.1秒〜1秒の間で行う事は出来ますか?
0015デフォルトの名無しさん
NGNGint func(const int* dim)
{
return sizeof(dim)/sizeof(int);
}
int main(void)
{
int ans;
ans = func(gdim);
return 0;
}
配列の要素数を調べたいけど、gdimのサイズを返さずに
int*の大きさを返してるみたいなんですけど
どうすればいいですか?
0016デフォルトの名無しさん
NGNGint func(void)
{
return sizeof(gdim)/sizeof(int);
}
0017デフォルトの名無しさん
NGNG0.2秒という指定を0.1秒や1秒にすればいいだろ
0018デフォルトの名無しさん
NGNGマクロにしとけ。
0019デフォルトの名無しさん
NGNGn×nの行列の2つの行列をかけ合わせるプログラムをつくりこれを用いてA**(2**m)を計算するプログラムを作ってください。
0020デフォルトの名無しさん
NGNGいやです。
宿題なら専用のスレへ。
0021デフォルトの名無しさん
NGNG作ってくださいと来たか。
C/C++の宿題をやらせて、お兄ちゃん 22代目
http://pc5.2ch.net/test/read.cgi/tech/1083050221/l50
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNGサンクス
0024デフォルトの名無しさん
NGNG初心者対応のコード書く必要のある職種はあるよ
大多数は逆だけどね
0025デフォルトの名無しさん
NGNGグローバルやめろ ぼけ
話はそれからだ
0026デフォルトの名無しさん
NGNGぼけぼけ言うなぼけ。ぼけって言ったほうがぼけなんだぞぼけ。
0027デフォルトの名無しさん
NGNGもうちょっとヒネれ
ネタとしては悪くないが
それじゃ食いつき悪いだろ
0028デフォルトの名無しさん
NGNGコマンドラインから一文字入力するごとにプログラムに渡す処理をしたいんですけど
getcを使うと、エンターを押さないとプログラム側に入力した文字を渡せません。
一文字入力した瞬間にプログラムに文字を渡すにはどうしたらよいでしょうか?
JAVAでやれとかいうのは無しで。
0029デフォルトの名無しさん
NGNGその関数の中で複数の処理を時間に応じて実行
したいのですが、以下のやり方以外にいい方法ないでしょうか?
void test(void)
{
if(count++ == 200)
処理A
if(cuont == 400)
処理B
if(count == 600)
処理C
count = 0;
}
test関数は5ms毎に動くので、count=200っていうことは1Sってことです。
実際は処理は10個ぐらいあります。
個人的にcountの値が処理数に応じて大きくなっていくのが嫌です。
0030デフォルトの名無しさん
NGNG大きくなるのがいやならカウントダウンにすればー
実際どこかしらでカウンタ使う以外ない
0031デフォルトの名無しさん
NGNGkbhit()
0032デフォルトの名無しさん
NGNG標準ライブラリでは無理。
処理系提供のライブラリで当該機能を探すべし。
処理系固有の話はそれぞれのスレで。
0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNGここらあたり標準に組み込んでほしいな。
0035デフォルトの名無しさん
NGNGでももういまさら
0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNGiniファイルには2つのint型の数値が入ってます。
0038デフォルトの名無しさん
NGNGiniファイルをそのまま見せろ。
0039デフォルトの名無しさん
NGNG例えば、gccで-ansi -Wallとかやっても警告すらでません。
そのほかにもいくつかのコンパイラでANSI指定してみても、
警告もでないし、正しく実行されます。
しかし、ANSI Cの規格書を読む限り、%lfとした場合の動作は
未定義なので、コンパイラは警告を出すべきだと思いますが、
なぜ出ないんでしょうね。
誰か教えてください。
0040デフォルトの名無しさん
NGNGそこは言語ではなくライブラリの引数のミスなので
コンパイラは普通検出できない。
やってやれないことはないし、ミス多発地点だから
やってくれてもいいとは思うけどね。
0041デフォルトの名無しさん
NGNGif (++count < 200)
return;
count = 0;
if (n == 10)
n = 0;
switch (n++) {
...
}
0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNGそのやり方でもいいんですが、それだとファイル
内変数をcountとnで二つ取ることになりますよね。
1つで実現するのは無理ですかね。
0045デフォルトの名無しさん
NGNG見栄えの問題なら、こういうやつ?
void test(void)
{
if ( ++count % 200 ) return;
switch ( count / 200 ) {
case 1:
処理A
break;
case 2:
処理B
break;
case 3:
処理C // これが最後なら
count = 0;
break;
}
}
0046デフォルトの名無しさん
NGNGわけわからん。
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNGなんで二つにするのがいやなのかわからんが
ひとつにしたければくっつけたら?
struct {int count, n;} cnt = {0};
0049デフォルトの名無しさん
NGNGおまえswitchの時点でのcount/200がいくつになってるか知らんのか?
0050デフォルトの名無しさん
NGNG200の倍数ですが
0051デフォルトの名無しさん
NGNGCanon LBP-220(レーザープリンタ)を使う予定です。
WIN32APIとMFCとを使わないで、CUIで作りたいのですが、思いつきません。
誰か教えていただけないでしょうか。
0052デフォルトの名無しさん
NGNG変わるって本に書いてあったけど、何か利点があるのでしょうか?
それとも何かの制約上仕方なくそうしているだけで、別に得することはないのでしょうか?
0053デフォルトの名無しさん
NGNGint はその処理系でもっとも自然に扱えるサイズがとられる。
普通は、CPUのレジスタサイズがそのままintのサイズになる。
0054デフォルトの名無しさん
NGNGいかにもなタイプ(潰すと汁が沢山出てきそうなやつ)がいます。
部屋の明かりに誘われて飛んできた虫を捕まえる魂胆なのでしょう。
なかなか知恵のあるやつだと思います。そこで質問です。
クモは頭を下にしたまま長時間じっとしてますが、頭に血が登って
しまったりしないんでしょうか。また、頭を下にしなきゃならない
理由が何かあるんでしょうか?
0055デフォルトの名無しさん
NGNGこれがかなりの大うそ。
しったかぶりくん!
0056デフォルトの名無しさん
NGNG普通は、という条件がついてるのに「かなりの大うそ」ですか?
正しくは?
0057デフォルトの名無しさん
NGNGしたがって逆さまでも重力で体液が下方にたまるということはありません。
頭を下にするのは習性です。おそらく磁場か重力場を感じ取り、体の方向
を決めているのでしょう。綺麗な巣を作ることが出来るのもこの習性による
ものです。
0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNGint が レジスタサイズではない処理系(コンパイラ)と、そのメリットを教えてください。
0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNGintが8bitだと使いづらいからね 普通は。
メリットはオーバーフローをしないようにだね 普通は。
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNGそれはうそ。
8bitのint だって 、普通に使われている。
0064デフォルトの名無しさん
NGNG普通は、という条件がついてるのに「うそ」ですか?
0065デフォルトの名無しさん
NGNGと書いたのは私ではない。
0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNG最新の規格ではprintfにおける%lfは%fと同じになったらしいよ。
0069←エッチ
NGNG0070デフォルトの名無しさん
NGNGPS2はint→32bit,レジスタサイズ→128bit
メリットなんて知らん。
まあ、intが128bitってのも無駄だが。
0071デフォルトの名無しさん
NGNG64ビットプロセッサだと
byte=8,short=16,int=32,long=64
にしたらなんかきれいじゃん。int=64にしたら32bitがなくなるし。
0072デフォルトの名無しさん
NGNGshort=32,int=64,long=64 だろ
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNG0075デフォルトの名無しさん
NGNG必死だな
0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNG普通はintが32bitなので、それ以外にすると動かない腐ったソースがたくさん出てくるから。
ま、互換性のため。つまり、普通は32bitというわけだ。
いわゆるマイコンに限れば普通16bitかもね。関わりたくない世界だ。
>>70
つまり、普通じゃない。
>>73
charの間違いだと思われ。
0078デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
NGNG80x86は16bitCPUだからな。
0080デフォルトの名無しさん
NGNGC言語スレとは思えないアホな書き込みだな
0081デフォルトの名無しさん
NGNGま、ガンガレw
0082デフォルトの名無しさん
NGNGあぼーん
誰?
008371
NGNGと書いたのは漏れだ。死にたい。
0084デフォルトの名無しさん
NGNGJavaですな。
byte→charだけど
008571
NGNG77は、intが32bitであることを前提に書かれたくそコードが多すぎるので、
互換性のために、1ワード?(レジスタサイズまたはバスサイズ)が32bit以上になっても、
intが32bitのままにされてしまうと言いたいのだと思う。
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNGtypedef signed char s1;
typedef unsigned char u1;
typedef short s2;
typedef unsigned short u2;
typedef long s4;
typedef unsigned long u4;
typedef __int64 s8;
typedef unsigned __int64 u8;
typedef float f4;
typedef double f8;
…という具合に、実サイズが判る形に置き換えちゃってるし。
もちろん、コンパイラに合わせて書き換える必要あるけど。
0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNGチェックボックスにチェックを入れるとテキストフィールドに入力出来る状態に
チェックを外すと、入力出来ない状態にしたいのですが、どうしても出来ません。
void jCheckBox1_actionPerformed(ActionEvent e) {
boolean a;
a=jCheckBox1.isSelected();
jTextField1.setEnabled(true);
}
(テキストフィールドのenabledプロパティをデフォでfalseにした状態)
にすると一度だけ入力出来るようになり、そのままチェックを外しても入力をすることが出来る状態になってしまいます。
よろしければご教授お願い致します。
0092デフォルトの名無しさん
NGNGboolean a;
a=jCheckBox1.isSelected();
if(a){
jTextField1.setEnabled(true);
}else{
jTextField1.setEnabled(false);
}
}
0093デフォルトの名無しさん
NGNGおかげさまで出来ました。
0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNG0096デフォルトの名無しさん
NGNGjTextField1.setEnabled(a?true:false);
こんな感じか。
0097デフォルトの名無しさん
NGNGjTextField1.setEnabled(jCheckBox1.isSelected()?true:false);
}
これでいいんじゃない?
0098デフォルトの名無しさん
NGNGboolean a;
a=jCheckBox1.isSelected();
jTextField1.setEnabled(a) ;
}
0099デフォルトの名無しさん
NGNGjTextField1.setEnabled(jCheckBox1.isSelected());
}
0100デフォルトの名無しさん
NGNGこれCか?
ひゃくげと
0101デフォルトの名無しさん
NGNGunsigned long long int
と
long long int
だね。最近使う用事が多いのだが
0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNG仮にCでかかれていたとしても標準Cでは無いな
0104デフォルトの名無しさん
NGNG/* 1〜200の擬似乱数を1個ずつ発生 */
for (i=0; i<1; i++) {
j = 0; // バッファクリア
j = rand()%200;
printf("%d",j);
}
と言うような事をしているのですが最初に出てくる値は確かにランダムなのですが
その後、規則正しく増えていきます。不規則に上限する値を出すにはどうしたら良いですか?
乱数を、jという変数に格納してはありますが rand()%200 を直接入れても構いません
0105デフォルトの名無しさん
NGNG>jTextField1.setEnabled
構造体のフィールドに関数ポインタ持たせれば不通に通るだろ。
0107デフォルトの名無しさん
NGNGsrandは一度だけ呼ぶ。
ところで、
> for (i=0; i<1; i++) {
はネタか?
0108107
NGNG0110デフォルトの名無しさん
NGNGだから、それをループにする意味があるのかと(ry
0111デフォルトの名無しさん
NGNG>/* 1〜200の擬似乱数を1個ずつ発生 */
コメントとコードが一致していない
0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNGrand()がどういう値を持つか決めてないし
0114デフォルトの名無しさん
NGNG>その後、規則正しく増えていきます。
となっているが、このコードだと一回しか乱数を得ていない。
繰り返しているのなら、その繰り返し全体を書いてくれ。
0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNGコードを書いた後実行ファイルが動いている時に規則正しい
またはコードそのものに適当な変更を加えても乱数にもかかわらず一回目の実行と二回目の実行が同じ数値だったり。
0117デフォルトの名無しさん
NGNG地球がゴミで埋まってしまう。
0118デフォルトの名無しさん
NGNG空白あけるなよぼ(ry
0119デフォルトの名無しさん
NGNG乱数列はあくまでもsrandを実行してからの一連のrand()が疑似乱数になるもので
srandに与える種が変わらないときは乱数列自体が同じになる。
で、種はtimeなので、同一秒内だとまったく同じ乱数列になる。
0120119
NGNGsrandに与える種が起動の度に確実に変わるものを選んだほうほがいい。
(が、そういう手段は処理系依存になる)
また、だんだん大きくなるとかいってるのは、使っているrand()の実装が
種がだんだん大きくなるのにあわせて大きくなるような影響を受ける
アルゴリズムなんだろう。
別の疑似乱数ライブラリを入手して利用すれば改善するかもしれない。
0121デフォルトの名無しさん
NGNGでは、結局どこをどうすれば>>104は乱数になるのカナ?
0122デフォルトの名無しさん
NGNG0123デフォルトの名無しさん
NGNG>と言うような事をしている
書いてある部分以外でバグってる、に一票。
0124デフォルトの名無しさん
NGNGすぐ下で代入されるのになんの為の代入だ?
0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNG規格合致処理系
0127Error@MSN
NGNGサーバー側でテストをしてみたいんですが、
コンパイルしたあとに出来るファイルも転送しないといけないのでしょうか?
test.exe,test.objなどです。
0128デフォルトの名無しさん
NGNG前スレは落ちていて見られない。
質問をもう一度貼ってくれ。
0129デフォルトの名無しさん
NGNG落ちたな。この板。
0130128
NGNG> 出来るファイルも転送しないといけないのでしょうか?
当然。ただ、ソースファイルやオブジェクトファイル(.obj)はいらないぞ。
# .exeか。なんか動かない気がする。
0134デフォルトの名無しさん
NGNG>>114の希望に沿った回答が無い以上、>>119の答えが精一杯だと思うが。
あと、>>106のリンク先も読む事をお勧めする。
それとも、コードを示さないと何も分かりませんか?
0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNGおまえはまず日本語から勉強しろ。
0137デフォルトの名無しさん
NGNGもう遅いかもしれんが、サーバのOS、コンパイル環境のOSや
コンパイラ名(セルフかクロスかも)を書けば適切なレスがつくぞ
PC(Windows)のVC++でmakeしたexeをUNIX系OSに持っていったところで
クソの役にも立たんからな
0138デフォルトの名無しさん
NGNGwhile文使って整数の2乗を描くプログラムを作れだとさ。
0
1 *
2 ****
3 *********
・
・
・
こうやって表示させるためにはどうしたらよろすぃ?
0139デフォルトの名無しさん
NGNGpow関数を使え
0140デフォルトの名無しさん
NGNG宿題スレ行け、もしくは氏ね
0141デフォルトの名無しさん
NGNG何かが激しく間違ってる気がしてなりません。
一応素数は表示されるんですが、いっぱい表示されちゃうです。
どうしまぷよ
#include<stdio.h>
main()
{
int a,b;
for(a=2;;a++){
for(b=2;b<a;b++){
if(a%b==0) break;
printf("%d\n",a);
}
}
}
0142デフォルトの名無しさん
NGNGネタはよそでどうぞ。
0143デフォルトの名無しさん
NGNG#include<stdio.h>
main()
{
int a,b;
for(a=2;a<1000;a++){
for(b=2;b<a;b++){
if(a%b==0) goto boke;
}
printf("%d\n",a);
boke: ;
}
}
0144デフォルトの名無しさん
NGNGいや、だから、そういうことを言っているんじゃなくて、別スレに行けといっているのだよ。
そのくらいのことは大体の人が理解しているだろうよ。
0145デフォルトの名無しさん
NGNG0146デフォルトの名無しさん
NGNGfor(b=2;b<a;b++){
は
for(b=2;b<(a/2);b++){
のほうが良くないか?
0147デフォルトの名無しさん
NGNGchar *s;
gets(s);
printf(s);
return 333;
}
0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNGfactor使え
0151150
NGNG○なるべく
0152Error@MSN
NGNGありがとうございました。
0153デフォルトの名無しさん
NGNGfgets使えば直るぞw
0154デフォルトの名無しさん
NGNGもっと根本的な問題もある分けだが…(w
0155デフォルトの名無しさん
NGNGmain()
{
int i, j, k;
for (i = 0; i < 10; i++) {
printf("%d ", i);
for (j = 0; j < i; j++) {
for (k = 0; k < i; k++)
printf("*");
}
printf("??/");
}
}
0156デフォルトの名無しさん
NGNG> のほうが良くないか?
空白あけろよ ぼけ
0157デフォルトの名無しさん
NGNGそれ飽きた
0158デフォルトの名無しさん
NGNG飽きるほど言わせるなぼ け
0159デフォルトの名無しさん
NGNGうちでは、こう書くんだぼ け
/* ----- fugafuga ----- */
void* f(int a, int b)
{
if(a < b) { /* hogehoge */
func(a, b);
a += b -1;
}
return NULL;
}
0160デフォルトの名無しさん
NGNG空白あけろよ ぼけ
> a += b -1;
空白あけろよ ぼけ
0161デフォルトの名無しさん
NGNG>空白あけろよ ぼけ
空白あけるなぼけ
0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNGfooはbar,bazと一緒に使う物。
0165デフォルトの名無しさん
NGNG0166デフォルトの名無しさん
NGNGRFC検索汁
0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNG#include<stdio.h>
main()
{
int a,b;
for(a=2;;a++){
for(b=2;b<(a/2);b++){
if(a%b==0) goto next;
}
if(a!=4) printf("%d\n",a);
next:;
}
}
0169デフォルトの名無しさん
NGNGCでご飯食べている方々にお聞きしたいのですが
派遣先やら社内での開発環境はやはりVCが多いのでしょうか?
gcc関連はほとんど勉強してないのでそれで問題ないのか気になったので
質問させてもらいました
makeユーティリティプログラムなるものが使ってる参考書で出てきたので
正直あせっております
ウラハラUNIX系が多かったり・・・・
よろしくお願いします
0170デフォルトの名無しさん
NGNGスレ違い。つーか鼬害?
unix系の知識は兎も角、VC使いを自認するなら最低限Windowsの操作(*1)、
できればコマンドライン操作(*2)、願わくばCygwinが使えるようであって欲しい。
#1:ショートカットキーとかVCの設定変更とかできる程度でもいいから
#2:コマンドラインからプログラムを起動するとかリダイレクトでファイル作るとか
それさえできない香具師が多過ぎるよ……_/ ̄|○
0171デフォルトの名無しさん
NGNGEmacs だろ?
ハカー は、2行以上のコマンドには、Makefile 使うんだよ。
0172デフォルトの名無しさん
NGNG嫌ならindent使え ぼけ
http://www.vector.co.jp/soft/solaris/x86/se045590.html
0173デフォルトの名無しさん
NGNG> http://www.vector.co.jp/soft/solaris/x86/se045590.html
/usr/bin/indent 使えぼけ
つーか、Emacs 使えぼけ
0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG何か良い方法はないでしょうか。
#ifdef WINAPI
#define TTT WINAPI
#undef WINAPI
#endif
...
#ifdef TTT
#define WINAPI ##TTT
#undef TTT
#endif
0176デフォルトの名無しさん
NGNGださ...
なんでこんな目的にgotoが必要?
0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNG##とる
0180178
NGNGリロードしなかった。
しかも的外れな答えでした。
スマソ
>#ifdef WINAPI
>#define TTT WINAPI
>#undef WINAPI
>#endif
TTTを使う前にWINAPIをundefしてるから、たとえば
int TTT WinMain()
は
int WINAPI WinMain()
に置き換わるけどWINAPIはWINAPIのまま。
何か良い方法1
#define WINAPI ○○ // WINAPIがこう定義されてたら
#define TTT ○○ // TTTをこう定義する(WINAPIじゃなくて○○)
何か良い方法2
WINAPIをundefしない
0181デフォルトの名無しさん
NGNGまさかループ脱出用のフラグでも立てろと?
ださ...
0182175=177
NGNGなるほど、#define TTT WINAPI が実行されたときに WINAPI の値が解決され、
TTT に○○○がセットされるわけではなく、
展開時に TTT→WINAPI→○○○ と解決されるということなのですね。
プリプロセッサの動きをよく理解していませんでした。ありがとうございます。
0183デフォルトの名無しさん
NGNGいつも使わないからといって、ここぞという時にも使わない香具師はぼけ
0184デフォルトの名無しさん
NGNGfor ( b = 2; a%b ; ++b ) {
if ( b >= (a/2) ) {
if ( a != 4 ) printf("%d\n",a);
break;
}
}
0185デフォルトの名無しさん
NGNGずっと動作させてたら 3160687 まで来た。
簡易ベンチマークにいいかもね。
0186デフォルトの名無しさん
NGNG0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNGこっちでやれよ
0189デフォルトの名無しさん
NGNGここのサンプル実行しても、
WinMain関数宣言してるか確認しろってゴルァされるんだけどどうすればいいの?(つд`)
0190デフォルトの名無しさん
NGNGスレ違いだゴルァ
メッセージは改変や省略せずに書けやゴルァ
つかってるOSとコンパイラ書けやゴルァ
0191デフォルトの名無しさん
NGNGあ、これってCには入らないんだね…カーチャンカンベン('A`)
とりあえず聞いてくれたので折角だから書くよ
'WinMain' : 関数はオーバーロードできません。
'WinMain' の宣言を確認してください
こんなんが出る…OSはXP、コンパイラはVC++6.0
0192デフォルトの名無しさん
NGNGとりあえず見てしまったので折角だから答えるよ。
HANDLE を HINSTANCE に置き換える
0193いお
NGNGランを作ってください
0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNGアリガ�d、無事出来ますた
0196いお
NGNG0197デフォルトの名無しさん
NGNGAssertion Failure
Location : Fog\Src\Mem\mem.cpp, line #1277
Expression : !TESTBITDWORD(pPoolBlock->pUsageTable, nBlockOffset )
とエラーが出てきて画面が固まってしまいます。
板違いだったら申し訳ないのですが、(.cppってC言語だと思ったので)
これってどんなエラーなんですか?
何か分かる方いらっしゃいましたら対処法を教えてください><
0198デフォルトの名無しさん
NGNGメーカーに聞け
作った人以外には無意味な情報だ
0199デフォルトの名無しさん
NGNGIA32e(IA64)環境でlongが64bit
という前提の下
uint64_t a=0; #として
printf("%llu\n", a);
とするとIA32では、コンパイル時にwarningが出ないけど、
IA64ではwarning出ます。
#longが64bitなので
#まぁwarningだから無視してもいいけど。。。
#if (BITS_PER_LONG == 32)
printf("%llu\n", a);
#else
printf("%lu\n", a);
#endif
とすると、コンパイル時にはどちらの環境でもwarningが
でません。
で、↑のプリコンパイラ文を使う方法以外の解決案(マクロ)
あったら教えてください。
0200デフォルトの名無しさん
NGNG彼女らがその金をどう使うか見ることにした。
一人目の女は、高価な服と高級な化粧品を買い、最高の美容院に行き、自分を完璧に見せるためにその金を全て使って こう言った。
「私はあなたをとても愛しているの。 だから、あなたが町で
一番の美人を妻に持っているとみんなに思ってほしいのよ」
二人目の女は、夫になるかもしれないその男のために新しいスーツやシャツ、車の整備用品を買って残らず使いきる と、こう言った。
「私にとってはあなたが一番大切な人なの。だからお金は全部
あなたのために使ったわ」
最後の女は、5000ドルを利殖に回し、倍にして男に返した。
「私はあなたをとても愛しているわ。 お金は、私が浪費をしない、 賢い女であることをあなたに分かってもらえるように使ったのよ」
……男は考え、3人の中で一番おっぱいの大きい女を妻にした。
0201デフォルトの名無しさん
NGNGprintf(BITS_PER_LONG == 32 ? "%llu\n" : "%lu\n",a);
0202デフォルトの名無しさん
NGNGそれ、別のwarningがでない?
0203デフォルトの名無しさん
NGNGコンパイラはそこまで賢くないと思うが。
#printf("%s\n", foo);がputs(foo);に最適化されたのには驚いたが。
0204デフォルトの名無しさん
NGNGC99 的には、
#include <inttypes.h>
printf(SCNo64 "\n", a);
なんだけど、VC++ では使えない罠。
0205デフォルトの名無しさん
NGNGあ:3
え:2
い:1
う:1
みたいなのだすにはどうしたらいい?少ない文字数ならswitch文使えば良いんだろうけど
多いときは??
0206デフォルトの名無しさん
NGNGprintf(PRIu64 "\n", a);
ね
0207デフォルトの名無しさん
NGNG少ない文字数だとしてもどうやってswitch使うのやら
0208デフォルトの名無しさん
NGNGcase 'a': a++; break;
case 'b': b++; break;
みたいな
0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNG多かろうが少なかろうがテーブルだろ
0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNG食卓
0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNG0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNGtypedef struct {
int cnt;
char moji[2];
char* next;
char* prev;
} LIST;
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNGcharでなければならないというわけではない。shortでもlongでも。
0220デフォルトの名無しさん
NGNGプリコンパイラ文って何だよという突込みを入れたいところだが、
各printfで処理を切り分けるのも面倒だと思われるので、>204
みたいなのを自前でどこかに定義すればいいのではないかと。
#if (BITS_PER_LONG == 32)
#define SPEC_U64 "%llu"
#else
#define SPEC_U64 "%lu"
#endif
みたいな感じで。
0221デフォルトの名無しさん
NGNGって、だからどうやってswitch文で実現すんだよ。
と思ったが、65536個のcase文を作ればできるか。
0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNG> for ( b = 2; a%b ; ++b ) {
空白空けるなよ ぼけ。
空白あけろよ ぼけ。
空白あけろよ ぼけ。
空白空けるなよ ぼけ。
空白空けるなよ ぼけ。
0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNGcount[code]++; すればいいだけだろうが
0227デフォルトの名無しさん
NGNGmain
(
)
{
printf
(
"hello world\n"
)
;
return
;
}
これで満足か?
0228デフォルトの名無しさん
NGNG改行は二回続けて入れろぼけ
0229デフォルトの名無しさん
NGNGn\
t
m\
a\
i\
n
(ry
0230デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <math.h>
int main()
{
enum{ YLEN = 24, XLEN = 79 };
const double PI=3.14;
char a[ YLEN ][ XLEN ];
int i, j, t,r ;
double g=9.8;
for ( j = 0; j < YLEN; j++ )
for( i = 0; i < XLEN; i++ )
a[ j ][ i ] = ' ';
for ( i = 0; i < XLEN; i++ ) a[ 23 ][ i ] = '-';
for ( j = 0; j < YLEN; j++ ) a[ j ][ 0 ] = '|';
a[ 23 ][ 0 ] = '+';
for ( t = 0; t < 25; t++ ){
double r =(double) 45/180*PI;
int cx = (int)(3.1* cos(r)*t);
int cy = (int)(3.1*sin(r)*t-1/2*g*t*t);
a[-cy+23][cx+0]='*';
} /* for */
for ( j = 0; j < YLEN; j++ ){
for( i = 0; i < XLEN; i++ )
printf( "%c" , a[ j ][ i ] );
printf( "\n" );
} /* for */
return ( 0 );
} /* main */
と45度の斜方投射のプログラムを作ったのですが、どこがだめでしょう??
0231デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <math.h>
int main()
{
enum{ YLEN = 24, XLEN = 79 };
const double PI=3.14;
char a[ YLEN ][ XLEN ];
int i, j, t,r ;
double g=9.8;
for ( j = 0; j < YLEN; j++ )
for( i = 0; i < XLEN; i++ )
a[ j ][ i ] = ' ';
for ( i = 0; i < XLEN; i++ ) a[ 23 ][ i ] = '-';
for ( j = 0; j < YLEN; j++ ) a[ j ][ 0 ] = '|';
a[ 23 ][ 0 ] = '+';
for ( t = 0; t < 25; t++ ){
double r =(double) 45/180*PI;
int cx = (int)(3.1* cos(r)*t);
int cy = (int)(3.1*sin(r)*t-1/2*g*t*t);
a[-cy+23][cx+0]='*';
} /* for */
for ( j = 0; j < YLEN; j++ ){
for( i = 0; i < XLEN; i++ )
printf( "%c" , a[ j ][ i ] );
printf( "\n" );
} /* for */
return ( 0 );
} /* main */
と45度の斜方投射のプログラムを作ったのですが、どこがだめでしょう??
0232デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <math.h>
int main()
{
enum{ YLEN = 24, XLEN = 79 };
const double PI=3.14;
char a[ YLEN ][ XLEN ];
int i, j, t,r ;
double g=9.8;
for ( j = 0; j < YLEN; j++ )
for( i = 0; i < XLEN; i++ )
a[ j ][ i ] = ' ';
for ( i = 0; i < XLEN; i++ ) a[ 23 ][ i ] = '-';
for ( j = 0; j < YLEN; j++ ) a[ j ][ 0 ] = '|';
a[ 23 ][ 0 ] = '+';
for ( t = 0; t < 25; t++ ){
double r =(double) 45/180*PI;
int cx = (int)(3.1* cos(r)*t);
int cy = (int)(3.1*sin(r)*t-1/2*g*t*t);
a[-cy+23][cx+0]='*';
} /* for */
for ( j = 0; j < YLEN; j++ ){
for( i = 0; i < XLEN; i++ )
printf( "%c" , a[ j ][ i ] );
printf( "\n" );
} /* for */
return ( 0 );
} /* main */
と45度の斜方投射のプログラムを作ったのですが、どこがだめでしょう??
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNGどうしたらよいのでしょうか?ご教授ください。
#include <studio.h>
int main ( void )
{
int i;
int j;
int sum = 0;
for ( i = 2 , i <=300; i++ ) {
if ( i = j ) {
sum = sum + 1;
printf("%4d", i);
if (sum%10 ==0 ) {
printf("\n");
}
}
}
printf("number of sosuu = %d", sum);
return(0);
}
0235デフォルトの名無しさん
NGNG0236234
NGNG0237デフォルトの名無しさん
NGNGjって何だ
0238234
NGNG0239デフォルトの名無しさん
NGNG入ってないじゃん
0240234
NGNG0241デフォルトの名無しさん
NGNGfor(i = 0 ; i < 10000 ; i++)
{
printf("Hello!!\n");
}
こうするとCPU使用率が100%になってしまうので、
for(i = 0 ; i < 10000 ; i++)
{
printf("Hello!!\n");
Sleep(1);
}
こうしてみたら、CPU使用率1%位になったのですが、処理に時間がかかりすぎます。
精度は別として1msのウェイトを入れているから当たり前なのですが。
実際には延々と裏で走り続けるプログラムなので、100%はまずいのですが、
速度もある程度維持したいので Sleep(1); はちょっと遅すぎます。
この辺の調整方法で正攻法というのはありますでしょうか?
0242デフォルトの名無しさん
NGNGスレ違い
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNGプライオリティの低いスレッドを作ってそいつにやらせろ。
あるいはそのプロセス自身のプライオリティを下げて実行しろ。
CPUを100%使うのが悪いんじゃない。
フォアグラウンドのタスクを邪魔するのがいけないんだ。
0245241
NGNG0246デフォルトの名無しさん
NGNGその前にC言語の問題じゃないって気づけよ。
0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNGなにがだめなのかも分からないんです。
0249デフォルトの名無しさん
NGNG誰が駄目だといったのか? その人に聞け
0250デフォルトの名無しさん
NGNG駄目と言った人が駄目なようだ
0251デフォルトの名無しさん
NGNGfor ( t = 0; t < 25; t++ ){
double r =(double) 45/180*PI;
int cx = (int)(80.0* cos(r)*t);
int cy = (int)(80.0*sin(r)*t-1.0/2.0*g*t*t);
cx /= 10; cy /= 10;
if (cx>=0 && cx<XLEN && cy>=0 && cy<YLEN)
a[-cy+23][cx+0]='*';
} /* for */
ところで、こうゆうループの中で変数宣言するのが最近は普通なの?
0252デフォルトの名無しさん
NGNGそれより、せっかくmath.hをインクルードしながら、PIを自分でdefineしてるのはどうよ?
M_PI使えばいいのに。
0253デフォルトの名無しさん
NGNGループの中でしか使わないなら漏れもそう書くな。
スコープが小さくなるようにしたほうが間違いを起こしにくいし
最適化にも良いわけだしな。
0254デフォルトの名無しさん
NGNG昔から普通だと思ってたが?
0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNGどこでも{}ブロックの先頭で宣言ってのは
かなり昔からできた気がするが。
DOSだとMS-Cの3ぐらいでもできたんじゃないかと(だがさすがに確認できん)
0257デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNGそれはそれでもいいが、>>251を読んでも、ANSI以前と比較してるとしたら終わってるよ(w
0261デフォルトの名無しさん
NGNGおいおい・・・
>ところで、ホゲホゲ 最近は普通なの?
とくれば、「俺は知らなかったよ」ってことだろ。
流行ってることを知らなかったか、そのものすら知らなかったか、普通どっちかだな。
で、>>251はANSIを知らないって解釈するか?
0262デフォルトの名無しさん
NGNGその中で、本当にアメリカ国内用の規格票を取り寄せてるやつはいるか?
・・・少ないんだコレが (プププ
0263デフォルトの名無しさん
NGNGで?
0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNG(入力ファイル) (検索文字列) (出力ファイル)
あいうえお
かきくけこ → "くけ" → かきくけこ
さしすせそ
のようにしたいんすけど、どうやるの?
参考サイト
ttp://www.kumei.ne.jp/c_lang/intro/no_20.htm
0266デフォルトの名無しさん
NGNG宿題?
0267デフォルトの名無しさん
NGNG一行読む。
その行に検索文字列が含まれていれば→出力
ファイルの終端なら→終了
でなければ戻る。
0268デフォルトの名無しさん
NGNG話逸らすんじゃねえよ
「そんなんANSIで保証されてねえだろ ぼけ」
とか言ってるてめえら糞ばっかり
0269デフォルトの名無しさん
NGNG{
printf("sine\n");
}
0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNG0273255
NGNGそういう意味ですか。
251氏と255(俺)は別人です。
で、俺は251氏の書き込みを読んで、おそらく251氏はANSI以前のコンパイラを知っている人だと解釈して、
共感して、255の発言をしたのです。
0274251
NGNGけど、対応していないコンパイラもあったし、対応していても、ループするたびに
新しい変数領域を確保するコンパイラもあった。
そのせいかどうか知らないが、初心者向け教本は変数の宣言は関数の先頭でする
ように教えているのが多かったように思う。
上級者がコンパイラの特性を判ってて使う分には別に問題ないんだけど、漏れはいつも
関数先頭で変数宣言していた。
いまどきのコンパイラでそんな事を気にするのは時代遅れなのかなと思ったんよ。
微妙に荒れちゃったみたいでごめんね。レスくれた人ありがとう。
0275デフォルトの名無しさん
NGNG作業がしたいんですけど よくわかりまへん。ご教授ください
#include<stdio.h>
int main(void){
int a[4]={1,2,3,4,5};
int key;
int i,j;
scanf("%d",&key);
for(i=0;i<=4;i++){
if(a[i]==key){
a[i]=a[i+1];
}
}
for(j=0;j<=4;j++){
printf("%d\n",a[i]);
}
return(0);
}
0276デフォルトの名無しさん
NGNG0277255
NGNG使っているコンパイラの特性がわかっていて、保守性が高い(読みやすい)コードが
かければそれでいいと思います。
私の発言こそ、スレが荒れてしまう原因を作ってしまったと思います。
ごめんなさいです。
0278275
NGNG0279デフォルトの名無しさん
NGNGfor(i = 0; i < end - 1; i++)
if(a[i] == key)
memmove(&a[i + 1], end - i - 1);
0280デフォルトの名無しさん
NGNG学生に1人、Mac 使いがいるらしくて、「Mac でプログラミングの勉強できますか?」などと聞かれてしまいました。
Mac OS X でフリーのプログラミングツール(とりあえずはコンパイラとエディタ)というとどういう物が主流なんでしょうか。
当方、根っからの窓厨なので Mac のことは全然知らないんで・・・。
0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNG使う必要は無いが、読める必要は有るよー。
0283デフォルトの名無しさん
NGNG最初から付いてるんじゃなかったけ?
ともかくスレ違い。
0284デフォルトの名無しさん
NGNGスレ荒らすのはあんたじゃないよ
古いコンパイラが現役で動いてる
事実を受け入れられなくて
金切り声でわめくガキんちょが
いらん争い創ってるだけだよ
現実から見聞きした情報が少なすぎて
最近出た本から得た上っ面の情報だけ見て
著者も意図しない方向へ感化されてるのさ
0285デフォルトの名無しさん
NGNGいきがってるバカばっかり
0287デフォルトの名無しさん
NGNG>>284
そう、荒らしているのはオマエ!
0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG教授か上司にでもいぢめられたか?
0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNGうぜー職制をたたき出した直後だが何か?
0293デフォルトの名無しさん
NGNG誰か教えてください
0294デフォルトの名無しさん
NGNGいらん。 断言する。
必要性は誰に教えられることもなく
自分で感じ始めるまで
あらゆる処理を構造体なしで書いてみろ。
0295デフォルトの名無しさん
NGNGドキュメント性を高めるため。
独立した変数(多くは配列)を使ってもたいして変わらん。
0296デフォルトの名無しさん
NGNGふたつ。C++的な発送
0297デフォルトの名無しさん
NGNGそのレス、好きです。
ごもっとも。
>>293
295の言うとおり可読性の向上はもちろんだが、
異なる型の変数が複数個あった場合、
一つのポインタで全ての変数の受け渡しができるわけよ。
0299デフォルトの名無しさん
NGNG0300デフォルトの名無しさん
NGNGある程度できあがったところで「1P専用じゃねぇか!」ってことに気づいた。
2Pできるように変更するとき、
いままで適当に宣言してた変数を構造体にいれて、2個の配列にした。
そんなことに使えます。
0301199
NGNGプリしか合ってなかった。。
すみません
printf("%"PRIu64 "\n", a);
で解決しました(`・ω・)ノ
#kernelのsourceなので/usr/include/のファイルは
#参照できませんが、inttypes.hを参考に定義して解決
ありがとうございましたm(__)m
0302デフォルトの名無しさん
NGNGkernelでそんなもん…
まぁ何のkernelか書いてないけど。
0303デフォルトの名無しさん
NGNG「マリオ大佐の冒険」です。
0304199
NGNGsyslogに情報を書き出す部分いじってます。
0305デフォルトの名無しさん
NGNGいらぬ詮索でした。失礼。
0306デフォルトの名無しさん
NGNG位置:x,yと属性をひとまとめにして扱いたい
struct item{
int x,y;
char name[256];
int val;
};
とか
0307デフォルトの名無しさん
NGNG空白あけるなよ ぼけ
空白あけるなよ ぼけ
空白あけろよ ぼけ
0308デフォルトの名無しさん
NGNG> どこでも{}ブロックの先頭で宣言ってのは
> かなり昔からできた気がするが。
> DOSだとMS-Cの3ぐらいでもできたんじゃないかと(だがさすがに確認できん)
おまえぼけ。
MSC 3どころかMSC 1もまだなく、Lattice-Cもなく、WIndowsどころかMS-DOSもなく、
そもそも、Cにenumどころかvoidさえなく、i++できても++iができなかった時代、
というか、Cがまだベル研関係者にしかくばられていなかった時代から、
できるぞ。
0309デフォルトの名無しさん
NGNG> けど、対応していないコンパイラもあったし、
対応してない処理系なんかねーよ! いいかげんなこと言うんじゃねーよ ぼけ
enumがなくてもvoidがなくても、bitフィールドがなくても、構造体の代入ができなくても、
printfがなくても、ブロックの内側での変数宣言だけはできるのがCだ。
さすがにそこまでできないような処理系はCとは呼べん。
> 対応していても、ループするたびに
> 新しい変数領域を確保するコンパイラもあった。
おまえ、意味わかってていってるのか? たとえば、一番よくあるスタックフレイムによる
auto変数の実装であれば、
for (i = 0; i < 10; i++) {
int j;
{
int k;
....
}
....
}
は、j も kもそこへくるごとに、「確保される」のはあたりまえなんだよ ぼけ!
いいか? ここでいう「確保」ってのは、スタック上で、そこを「使う」ために「生きて」
いることを言う。つまり。そのブロックの外にでたら、そのエリアは「死んで」しまう
だけ、単にスタックポインターをずらすだけのはなし、mallocみたいに「確保」にコストがかかるわけじゃあない。
そもそも、呼び出した関数から戻れば、その関数の中のauto変数は「死ぬ」だろ?
(実際にはスタックポインターずれるだけが、その後に別の関数を呼べば、そっちの
関数のauto変数がそのエリアを使うわけなので内容(残骸)は「壊れ」る)..
そんなのは常識だろーが ぼけ おい、しっかりしろよ おまえら。
0310デフォルトの名無しさん
NGNGMacならふつうにコマンドラインで
cc foo.c
と打てばいいだけ。
もちろん、その前に
vi foo.c
とやってソースファイルをうちこんでいかなきゃいけないがな。
詳しくは、
man cc
しろ。
0311デフォルトの名無しさん
NGNGそこにデータを格納した後、それらのインスタンス同志の比較
をしたいんですが、バイナリdiff(という言い方でいいかわかりませ
んが、つまり文字列としての比較でなく、ビット毎に比較してしまい
たいんですが)する関数とか stdio.h にありますか?
0312デフォルトの名無しさん
NGNG> 使う必要は無いが、読める必要は有るよー。
だーかーらー、ANSI以前も以後も、ブロック先頭の(たとえば forの中括弧の中の)変数宣言は
ずっと保証されている正しい書き方なんだってば。
ANSI以前でも以降でも、int a[10]; で0〜9の10個の要素が確保されるだろ?
それと同じぐらい「あたりまえ」のこと。「いや、11個確保されryコンパイラーがあった!」
なんていう話を持ち出しても「はあ? そんなのCとはよべんだろ」って言われるのと同じこと。
0313デフォルトの名無しさん
NGNGそんなものはありません > インスタンス
「変数」といいなさい。
0314デフォルトの名無しさん
NGNGその質問に対する回答なら、「ない」。
但し、構造体変数同士を比較するのに使える関数は標準ライブラリ中に「ある」。
0316デフォルトの名無しさん
NGNGぼけ。そういう問題じゃない。
ブロックの内側での変数宣言(関数のブロックだけじゃなくて、その内側の)は、
べつに古い新しいの問題ではなく、ANSI以前の、初期のCからずっとできたし、
89年のANSIの文法でもしっかり規定された、Cの基本中の基本だよ ぼけ。
それを使えることを知っていても、「たまたまつかえる」とか「ANSI以降なら使える」とか
「ANSIでは使えないが昔は使えた」などと思っているようでは、ぜんぜんだめ。
むかーしからいままで、Cであれば「必ず」使える機能だ。それぐらいおぼえとけぼけ
0317デフォルトの名無しさん
NGNGそう言われて自信なくなって「う、でも昔からつかえてたから、規格がどうのは関係ないだろ」なんて
言うやつも やはりボケなんだよ。
ぼけ同士でまぬけなこと言い合ってるんじゃねーよ ぼけ
初期のCからあるCの基本中の基本であり、当然標準規格(C89でもC99でも)でも規定されている。
たまたま「自分が知らなかった」からっていって規格外とか言うんじゃねーよ ぼけ。
そういえば、a = "0123456789abcdef"[i]; なんていうコードも、「それって
規格外じゃないの?」なんてまぬけなことを抜かすやつが以前ここにいたなあ。
そいつと同程度だよ おまえらは
0318デフォルトの名無しさん
NGNG> 学生に1人、Mac 使いがいるらしくて、「Mac でプログラミングの勉強できますか?」などと聞かれてしまいました。
Macは最初からコンパイラーもエディターも入ってますよ。
viしてccすればいいです。
0319デフォルトの名無しさん
NGNGださい
0320デフォルトの名無しさん
NGNG代わりに何を入れればいいのですか?
0321デフォルトの名無しさん
NGNG厨スレには録音という自称年収5000万のスーパープログラマーというもの凄い池沼がいるのですが
彼が本当にプログラマーであるかどうかが争点となってちょっとした論争がおきてます。
設問
>JISコードをシフトJISコードへ変換する関数を作成しなさい。
>関数の引数はJISデータを示すchar型ポインタと変換されたSJISデータを
>格納するchar型ポインタとする。
>また、変換ルーチンには流れをつかみやすくするためにgoto文を用いる事。
>入出力のチェックは別関数で行っているものとする。
彼の書いたコード。
−−−−−−−−−ここから
ia=a[0];
ib=a[1];
if(ia>0x09f) ia-=0x040;
ia-=0x081;
if(ib>0x07e) ib--;
ib-=0x040;
i=ia*0x0bc+ib
ia=i / 0x05e;
ib=i % 0x05e;
ia=ia+0x021;
ib=ib+0x021;
a[0]=ia;
a[1]=ib;
チェックしたいなら下記を追加しておけ。
if(a[0]<0x021 || a[0]>0x07e) return(1);
if(a[1]<0x021 || a[1]>0x07e) return(1);
−−−−−−−ここまで
私はプログラムの知識が全くないので解らないのですが、これってあってます?
又、これを書いた人物が年収5000万のスーパープログラマーと言える技量があるか
どうかの判定もお願いしたいのです。よろしくお願いします。
0322デフォルトの名無しさん
NGNG俺にはC言語はじめて1週間の人間が書いたように見える。
0323デフォルトの名無しさん
NGNG屁理屈をこねまくって、設問から解答まで8時間以上が経過し、
設問した人も、判定しようとした人も善意の有志は皆疲れ切って
今、寝ています。
ですので、もし、時間にゆとりのある方がいらっしゃいましたら判定をお願いします。
0324デフォルトの名無しさん
NGNG{
int hi, lo;
int key;
hi = FF(sc >> 8);
lo = FF(sc);
if (sc < 0x80) /* ASCII */
return (UCS2)(0x0000 | sc);
else if (0xa0 <= sc && sc <= 0xdf) /* JIS X 0201 kana */
return (UCS2)(0xfec0 + sc);
else if (hi <= 0xfc && 0x40 <= lo && lo <= 0xfc) { /* JIS X 0208 */
key = (hi - ((hi >= 0xe0) ? 0xc1 : 0x81)) * 188;
key += lo - ((lo >= 0x80) ? 0x41 : 0x40);
if (key >= MAX_S || shiftjis_table[key].unicode == NONCHR)
return UCS_NONCHAR;
else
return shiftjis_table[key].unicode;
}
else
return UCS_NONCHAR;
}
0325デフォルトの名無しさん
NGNG>>316
>Cであれば「必ず」使える機能だ
本音ではそう言いたいよ?
でも俺、悪魔の証明はできねえし
信じらんねー仕様のコンパイラ色々見てる
ところでANSIのルールブックを見たことない香具師がANSI, ANSIとわめくのと
ベル研のconfidentialを見たことない香具師が(ry じゃねーだろな?
0326デフォルトの名無しさん
NGNG> 本音ではそう言いたいよ?
本音もくそもなく、実際使える。
それができない処理系も考えなきゃ...なんていうことを言い出したら、
「whileやifが使えないCだってあるんだから、使うな!」も言える。
それぐらいの基本だ。
0327デフォルトの名無しさん
NGNGあのー、いまどきANSIなんていうやつがぼけだとおもいますが。
0328デフォルトの名無しさん
NGNGその通り
0329デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNGだいたい規格制定以前ってことは
そもそも「Cとはこういうものを言う」って
定義自体が存在しなかったわけだろ
そんなん言い出したらオリジナルのccだけじゃん
0331デフォルトの名無しさん
NGNG自分が見たことない->ほかのやつもみたことないにちがいない、というまぬけな思い込みな
わけだ。
ふつう見てるだろ。
自分が簡単に入手できないからといって、そう思い込みたがるやつは間抜け。
0332デフォルトの名無しさん
NGNGhttp://www.metrowerks.co.jp/products/desktop/macintosh/mac8j/index.html
0333デフォルトの名無しさん
NGNG> そもそも「Cとはこういうものを言う」って
> 定義自体が存在しなかったわけだろ
いいや。すべてのCでそうだった。
0334デフォルトの名無しさん
NGNGどうやって確認したんだよ?
0335デフォルトの名無しさん
NGNGその通り
0336デフォルトの名無しさん
NGNGこいつぼけ。おりじなるはccではない。そんなことしらんのか...
0337デフォルトの名無しさん
NGNG>規格表
人の揚げ足とるんならてめーがしっかりしろ ぼけ
0339デフォルトの名無しさん
NGNGそもそもShiftJISからJISに変換しているように見える。
#詳しく調査してないが。
スタイルにも「慣れ」が感じられない。
0340デフォルトの名無しさん
NGNG0341デフォルトの名無しさん
NGNGぼけが答えにつまってるの
待ってらんねー
0342デフォルトの名無しさん
NGNGそれは慣れじゃないだろ。
ふつうは初心者も熟練者もつけない。
特殊な人間の「くせ」でつけるやつはいるが。
0343デフォルトの名無しさん
NGNG年収いくらぐらいの技量に相当するか、うちの学校の先生に聞いてきます。
でも、見た感じおれよりできない感じだけどなあ。
0344デフォルトの名無しさん
NGNG0345339
NGNGちょっと変わっているのは、掛け算割り算を行っている辺り。
というのも、一般的に知られている変換ロジックではその演算はあまりしないから。
ここで問題になるのは、慣れているからそのロジックを生み出せてそれを記述できたのか、
既存のライブラリか何かから探してきたから記述できたのか、どっちかの判断が難しいことだね。
0346デフォルトの名無しさん
NGNGいやだから、それ以前に課題はJISからSJIS。
0347デフォルトの名無しさん
NGNG私のMacはMacOSが動いていますが、viもccもありません。
0348デフォルトの名無しさん
NGNG寧ろ非常に素人臭いんだが。
0349デフォルトの名無しさん
NGNG9er ですね?
0350デフォルトの名無しさん
NGNGそのMacはにせものです。
本物のMacはviもccも入っています。(だから梱包といて取り出して電源いれれば、
すぐCコンパイラーが使えます)
0351デフォルトの名無しさん
NGNG0352デフォルトの名無しさん
NGNG入ってないです。
MacOS X Developper Toolsをインストールしないとccは入らないです。
0353デフォルトの名無しさん
NGNGだからそれはにせものだと何度言わせれば(ry
0354デフォルトの名無しさん
NGNGないかな・・・
Macユーザって機能とか重視しないからなかなか買い換えない印象がある。
0355デフォルトの名無しさん
NGNG0356デフォルトの名無しさん
NGNGwinで動くdockクローンソフトを配布停止にもしたし。
0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNG0359デフォルトの名無しさん
NGNG0360デフォルトの名無しさん
NGNGfor (i=0; i<10; fnc1(), i++) {
fnc2();
}
と書くのと、カンマ演算子を使わずに
for (i=0; i<10; i++) {
fnc1();
fnc2();
}
と書くのでは何か違うのですか?
0361デフォルトの名無しさん
NGNGc1=0;
c2=0;
c3=0;
}
とかを、
if (a==b) c1=0, c2=0, c3=0;
などと{} を書かずに書けるとか。
0362デフォルトの名無しさん
NGNGfnc2(i);
なら意味が変わってくるな
0363デフォルトの名無しさん
NGNGなんで?
0364デフォルトの名無しさん
NGNGその例だと、fnc1()とfnc2()の呼ばれる順番が違う。
0365デフォルトの名無しさん
NGNG違う。
fnc1とfnc2の呼ばれる順番を考えてみな。
0366デフォルトの名無しさん
NGNG少なくとも、カンマ演算子を使って書いたからといってコードが読み易くなるとは、俺は思わない。
単に主義・スタイルの問題だが、そういうことも大事だ。
0367デフォルトの名無しさん
NGNGforで使うだろ。
for(i=0,j=0・・・みたいに。
0368デフォルトの名無しさん
NGNG馬鹿?
おまえが使うかどうかは知ったこっちゃ無い。
使わなくても書けるだろ。
0369デフォルトの名無しさん
NGNGちなみに、そう書きたくなるってことは、ループの条件にiとjの2つが絡んでいるということだ。
もし違うなら、そう書くべきではない。
で、そういう場合は条件判定も、iやjの増分(増分とは限らないが)も、複雑だろう。
とすると、ほんとうにfor文がふさわしいのか?
while文の方が読みやすい・保守しやすいのではないか、そこまで考えなくてはならない。
だから367の例だけで「使うだろ」と言われても、「使う必要あるのか?」としか答えられない。
0370デフォルトの名無しさん
NGNGを実行すると悪魔を召還できるってほんとですか?
0371デフォルトの名無しさん
NGNGなら、マクロを書くときにも使う必要はないな。
0372デフォルトの名無しさん
NGNG馬鹿?
使わなくても書けるだろ。
0373デフォルトの名無しさん
NGNGなんか楽しいか?
カンマ演算子の有効性を主張する、骨のある奴はいないのか?
0374デフォルトの名無しさん
NGNG処理系依存ですが、本当です。
ちなみに
if( a==0 )
を実行するとボケ之助を召還できます。
0376デフォルトの名無しさん
NGNG無理して話題に加わらなくてもいいんだよ?
C言語をマスターしたらまた来てね。
0377デフォルトの名無しさん
NGNGなら聞くが、どうしてマクロを書くときには「必要」なんだ?
例を出してみろ。
0378デフォルトの名無しさん
NGNG使って嬉しいもんじゃないな。
とはいえ
int i;
char buf[1024], *ptr;
for (i=0, ptr=buf; i<N && *ptr; i++, ptr++) {
:
こーゆーのはたまに使うけどな。
0379デフォルトの名無しさん
NGNG演算子だぞ。
引数の区切りのあれとかは違うけど。
0380デフォルトの名無しさん
NGNGあーあ、やっちゃったね。
このソフトバッファオーバーフローであぼーんだな。
0381デフォルトの名無しさん
NGNG0382デフォルトの名無しさん
NGNG本でも読めよ。
0383デフォルトの名無しさん
NGNG0384360
NGNGfor (i=0; i<10; fnc1(), i++) {
fnc2();
}
と書くと、fncの実行順としては
for (i=0; i<10; i++) {
fnc2();
fnc1();
}
になるということでいいでしょうか?
で、for(i=0,j=0・・・ のように複数の値の増減が無い場合に前者のように
書くのはスタイルの問題という理解でいいのでしょうか?
私自身はまだC言語初心者のせいか、後者の方がイメージしやすいのですが、
というか前者のような書き方を使いこなせないのですが・・・
0385デフォルトの名無しさん
NGNG読めるのなら問題ない。
初期化→比較→真なら→文→増分→比較→・・・・
→偽なら→終わり
0386デフォルトの名無しさん
NGNGforの説明なんぞしてどうする。
0388デフォルトの名無しさん
NGNG0389デフォルトの名無しさん
NGNG> カンマが演算子だ、なんていうイっちゃった発想には敬服するが
↑これはCに対して言ったの?
0390デフォルトの名無しさん
NGNG0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNG話にもならん。
0393デフォルトの名無しさん
NGNGこれに懲りたら半端な知識で議論に参加しようなどと思うなよ。
0394デフォルトの名無しさん
NGNG自分の無知を誇らしげに晒すなよ(w
0395デフォルトの名無しさん
NGNGって言ってるページがあったな
0396デフォルトの名無しさん
NGNG0397デフォルトの名無しさん
NGNG0398デフォルトの名無しさん
NGNG元々、「カンマ演算子」の話だ。
しかし、「カンマは演算子」にしてしまうと、意味がおかしくなるからな。
Cでは「,」を、引数の区切りとして使う場合と、カンマ演算子として使う場合があるからな。
0399デフォルトの名無しさん
NGNG一般的なやり方を教えてください
0400デフォルトの名無しさん
NGNGfgets()が勝手に\0つけてくれます。
0401デフォルトの名無しさん
NGNGありがとうございます
getsと違い\nも入るんですね
\0がどうとか勘違いしてました
0402デフォルトの名無しさん
NGNGCではあまりにも色んな場面で'\054'を使うが
おまえさんが言ってるのはどれのことだ?
これが正確に言えない香具師には
説明しても無駄なんだが・・・
0403デフォルトの名無しさん
NGNGリファレンスに「文字列をセットする」と書かれていれば'\0'で終端されている。
0404デフォルトの名無しさん
NGNGどこで?
0406デフォルトの名無しさん
NGNGまじめな質問なのか、揚げ足とって喜びたいだけなのか?
おまえ、今日、ずっと粘着している厨房なんだろ。
0408デフォルトの名無しさん
NGNGなんでわざわざ '\054' なんだろ。
0409デフォルトの名無しさん
NGNG早く答えろよ、いつまで待たせる気だよ?
0410デフォルトの名無しさん
NGNG'\054'じゃない処理系の名前を知らないんだろ? 正直に言ったらどうだw
0411デフォルトの名無しさん
NGNG何が'\054'じゃない処理系の話をしているの?
0413デフォルトの名無しさん
NGNGこっちのほうがわかりやすいからね。
0414デフォルトの名無しさん
NGNG>複数の式をひとつにまとめられる以外にメリットないでしょ?
評価が出来る。
この利点すら分からない奴に、偉そうにC言語を語ってもらいたくないな。
0415デフォルトの名無しさん
NGNG0416デフォルトの名無しさん
NGNGプ
0417デフォルトの名無しさん
NGNGたまには徹底的にいじめてやるのもまた一興
0418デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNG#ifdef DEBUG
#define A(x) (hoge(), y)
#else
#define A(x) (y)
#endif
z = A(y);
0420419
NGNGtypoだからつまらん突っ込みは勘弁。
0421デフォルトの名無しさん
NGNGつまらんミスにいちいち突っ込むやつはいない。
と突っ込んでみる。
0422デフォルトの名無しさん
NGNG0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNGニホンゴワカリマスカ?
0425デフォルトの名無しさん
NGNG0426デフォルトの名無しさん
NGNG#define return if (fprintf(hogehoge), 0) {} else return
#endif
カンマ演算子がないと、これが使えんので、ぜひとも必要
0427デフォルトの名無しさん
NGNG0x0Aとか書く奴はバカだな10でできるだろう?
0428デフォルトの名無しさん
NGNGどうせぼけが言ってる基準
0429デフォルトの名無しさん
NGNG漢はgotoひとすじ
0430デフォルトの名無しさん
NGNG死ね
0431デフォルトの名無しさん
NGNG0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNGこうすればカンマ演算子はいらない。
#ifdef DEBUG
#define return if (fprintf(hogehoge)&0) {} else return
#endif
0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNGどこでしょう?一例を教えてくださいませ。
0437デフォルトの名無しさん
NGNG0438デフォルトの名無しさん
NGNG検索ワード:C
0439デフォルトの名無しさん
NGNGオマエモナー
0440デフォルトの名無しさん
NGNG0441デフォルトの名無しさん
NGNGそれが人にものを頼む態度か
じゃなくて宿題?
0442デフォルトの名無しさん
NGNGそのまま呼ぶなんて、きみたち 通じゃないね。
jazzはずーじゃ
飯はすーめ ね
0443デフォルトの名無しさん
NGNGマルチだな。放置汁。
0444デフォルトの名無しさん
NGNGそのまま呼ぶなんて、きみたち 通じゃないね。
jazzはずーじゃ
飯はすーめ ね
0445デフォルトの名無しさん
NGNG問題そのまんまかいてしまいました(*_*)宿題おしえてください!!
0446デフォルトの名無しさん
NGNGカーニハンもそう言ってますよ。
0447デフォルトの名無しさん
NGNG小文字にしろよぼけ
0448デフォルトの名無しさん
NGNGa = atol(argv[1]);
printf("%d %d %d\n", a % 23, a % 28, a % 33);
これだけでできるね。
0449デフォルトの名無しさん
NGNG0450デフォルトの名無しさん
NGNGカンマ演算子が無ければ、BASICでマルチステートメント多用して少しでも実行速度
上げようとしてた苦労が浮かばれないじゃないか!
Cでも同じように書きたいだろ。
0451デフォルトの名無しさん
NGNGp++
は繰返子
0452デフォルトの名無しさん
NGNG0453デフォルトの名無しさん
NGNG0454デフォルトの名無しさん
NGNG0455デフォルトの名無しさん
NGNGa = foo(), bar(), hoge(); だったら、
3つは必ずその順に実行されるし、最後に実行したhogeの価がaに入る。
ほかにこんな便利な演算子はない。
0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNG0459デフォルトの名無しさん
NGNGfoo(a, (b, c), d); ってやってみたんですが、うまくいきません。
どうしてですか?
関数の引数にはカンマ演算子は使えないのですか?
0460デフォルトの名無しさん
NGNG0461デフォルトの名無しさん
NGNG{
f(0,(0,1),2);
}
D:\>cl a.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
a.c
Microsoft (R) Incremental Linker Version 6.00.8447
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
/out:a.exe
a.obj
a.obj : error LNK2001: 外部シンボル "_f" は未解決です
a.exe : fatal error LNK1120: 外部参照 1 が未解決です。
上手く行ってるけど?
0462デフォルトの名無しさん
NGNGint sjisTojis(unsigned char *a)
{
int i,ia,ib;
i=((a[0]-0x021)*0x05e)+a[1]-0x021;
ia =i / 0x0bc; ib =i % 0x0bc;
ia+=0x081; ib+=0x040;
if(ia>0x09f) ia+=0x040;
if(ib>0x07e) ib++;
a[0]=ia; a[1]=ib;
return (0);
}
0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNG0466デフォルトの名無しさん
NGNG0467デフォルトの名無しさん
NGNGttp://www.exp.org/egg_battery/egg_battery.html
0468デフォルトの名無しさん
NGNGウダウダいわずにソースを晒したほうが早い
0469デフォルトの名無しさん
NGNGよく使うヘッダーなら結構あるのですが、dir.h,stdarg.h,io.h,signal.hなど、普段あまり使わないような
ヘッダーの標準ライブラリが載ってるといいのですが。。。
0470デフォルトの名無しさん
NGNG妥協して「青」や「黄」「赤」という具合に表示させようと思います
そこで教えてもらいたいのですが、
「青」 (一定時間経過) --> 「黄」
↑
ここの判断がどうしたらいいかなと悩んでます
time.hのtime関数あたり調べたんですが現在の時刻の表示やらなんやら。。
ちょっと違うなぁと思いまして。。
どなたか教えてくださーい
よろしくお願いします
0471デフォルトの名無しさん
NGNGあなたのパソコンの ../man/man3 あたりがよくまとまってていいと思うよ。
マジオススメ。Windowsは知らん。
0472デフォルトの名無しさん
NGNG1、Sleep関数を使う。
Sleep(500); //数値はミリ秒単位
2、Timerイベントを発生させる。
http://www.kumei.ne.jp/c_lang/
・Windows SDK編 第1部 (第9章 タイマーを使う、第10章 タイマーを使ったアプリケーション)
0473デフォルトの名無しさん
NGNG0474デフォルトの名無しさん
NGNGできる。
int とかの組み込み型使ってやったらオーバーフローするだろーけど。
0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNGやり方の乗っている参考書などあれば教えてください
お願いします
0477デフォルトの名無しさん
NGNGググってみてはいかがでしょう。
0478デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNG0480デフォルトの名無しさん
NGNG0481デフォルトの名無しさん
NGNG有り難うございました。
探してみます
0482デフォルトの名無しさん
NGNGLSIC-86のやつは?一部欠けてるけど
以下マニュアルから引用
4.1.1 言語仕様
(略)
wchar_tおよびL'...', L"..."はサポートしていません
4.1.2 ライブラリ
<locale.h>と、その中で定義されているマクロや関数はサポートしていません
多バイト文字をあつかう関数群(mblen()など)はサポートしていません
0483デフォルトの名無しさん
NGNG大学はじめて習ってるんですけど、課題で下記の問題を回答しなければいけないんですがわかる方おしえて!!
float 型と double 型には inf と nan という特別な値が用意されている.
適当な文献をあたって inf と nan という特別な値が持っている意味を調べ,プログラムを作成して inf と nan を実際に発生させよ.
0484デフォルトの名無しさん
NGNG宿題は自分でやろうね。はあと
0485デフォルトの名無しさん
NGNGhttp://www.webstore.jsa.or.jp/webstore/Com/FlowControl.jsp?bunsyoId=JIS+X+3010%3A2003&dantaiCd=JIS&status=1&pageNo=0&lang=jp
0486デフォルトの名無しさん
NGNGすると月〜金は使い物になってたのか
おまいにとってw
0488デフォルトの名無しさん
NGNG> お前らこの関数をどう思う?
同じような変数と同じロジックを使うとしても、ふつうはこう書く。
short sjisTojis(unsigned char *a)
{
int i, hi, lo;
i = ((a[0] - 0x21) * 0x5e) + a[1] - 0x21;
hi = i / 0xbc + 0x81;
lo = i % 0xbc + 0x40;
if (hi > 0x9f)
hi += 0x40;
if (lo > 0x7e)
++lo;
return hi << 8 | lo;
}
引数でもらったところに上書きしてもふつう不便なので(SJISはそのまま文字列でつかえるが、
ISO-2022-JPだとASCII文字との境目にいろいろいれなきゃいけないので)
0489デフォルトの名無しさん
NGNGそんな言語はありません。
同様に
jAVAもないし
c++もないし
cObOlもない
0490デフォルトの名無しさん
NGNGどうみてもしろーとだ。
0491デフォルトの名無しさん
NGNGつまんね
0492初心者
NGNGこれ→warning: overflow in implicit constant conversionと
これ→warning: decimal constant is so large that it is unsigned
0494デフォルトの名無しさん
NGNG訳すとこうなるか:
警告: 暗黙定数変換中のオーバーフロー
警告: 10進定数がunsigned型でいられないほど大きい
0495280
NGNGそのまんまの意味なんだけど。
英語が読めない?
警告: 定数を暗黙的に型変換する際にオーバーフローが生じました
警告: 十進定数は値が大きすぎなので、unsigned 型として扱われます。
例えば、int 型が16ビットとすると(いまどきそんな処理系少ないけど)、
signed int n; // -32768〜32767 までの範囲しか表せない
n = 40000; // 40000 は↑の範囲に収まらないので unsigend int 扱いされる
// ↑40000 を n に代入しようとすると、オーバーフロー扱いされる
0496デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNG0498初心者
NGNGほんと初心者なんでunsigned型ってのも分かんないんですが…
0499デフォルトの名無しさん
NGNG調べろ。
0500初心者
NGNG0501初心者
NGNGなんで(1.0/0.0)=infなんですか?
0502デフォルトの名無しさん
NGNG手計算してみろ。
0503デフォルトの名無しさん
NGNG仕様です。
1.0/0.0=∞以外にどうなって欲しの?
数学的に厳密に扱って 1.0/0.0=NaN(未定義)にして欲しいのか?
0504初心者
NGNGだから1.0/0.0=NaNっぽい気がするんですが、
数学とは意味が全然違うんですか?
0505デフォルトの名無しさん
NGNG一応、lim_(x→0) 1/x = ∞ なんだが。
数学だと、非常に小さな数と0、非常に大きな数と∞は区別すべきものだけど、
コンピュータ上だと精度の問題があって2者の区別が付かないから。
0506デフォルトの名無しさん
NGNGinfって∞だから 1.0/0.0 = inf ってのが
数学と意味が同じっぽい気がするんだが。
0507デフォルトの名無しさん
NGNGとりあえずIEEE754を見れば。
0508デフォルトの名無しさん
NGNG大丈夫、本当に数学に弱い人は 1/0 = 0 だと思ってるらしいから。
http://www.yomiuri.co.jp/komachi/reader/2004030200131.htm
0509デフォルトの名無しさん
NGNGNaN(Not a Number) は0/0 や√.1 など,数でなくなる状況のときに生成され
る特殊な数であり,それはどこかでInvalid operation が起こったことを示してい
ます(表2).いったんある部分がNaN として評価されると,それ以降の評価はす
べてNaN として評価されます.また,NaN には順序や同値関係はありません.
5.2 無限大(Infinity)
無限大(Infinity) は,オーバーフローが起きたときでも処理を続けることができ
るようにするために導入された特殊な数で,コンピュータ上ではInf と表示されま
す.Inf の生成は数学の無限大記号∞と同じような扱いができるように定められ
ています.そのため,いったんInf と評価されたとしても,limx→∞ 1/x = 0のよう
なルールがあるので,最終的な演算結果は浮動小数点数になる場合があります.
0510初心者
NGNGもっと勉強します。
0512デフォルトの名無しさん
NGNG同僚のソースみたらさ
#define HANDRED 100
int value = HANDRED;
とか書いてあんの
おまえ今後valueが100から200に変わったらどうすんのかと
#define の意味ないだろと
さらにはスペル違うだろと
奴曰く「grepしやすいじゃん」との事なんですが
誰かコイツを説得してください
0513デフォルトの名無しさん
NGNG√.1
√.1
√.1
√.1
√.1
>>508
あのページ見て思ったんだが、
問題の核心は「1/0がいくつになるか」よりも
むしろ「解なし」を教えてないってことにある
俺が習ったのは中学んときだが遅すぎると思う
0514デフォルトの名無しさん
NGNGワラタ
0515デフォルトの名無しさん
NGNG前にもどこかで聞かれたから書いたけど、0x5eを掛けると言うロジックが特殊。
試しにそのとき提示した一般的なロジックを手動最適化してみたが、
その結果はやはり掛け算は行わないで済ませるのが得策だという結果が出た。
0516デフォルトの名無しさん
NGNGつーか旦那んとこコーディング基準ねーの?
0517デフォルトの名無しさん
NGNG~~
0518デフォルトの名無しさん
NGNG実際にパソコンでうって動作たしかめたりするにはどうやってやれば
いいですか?
学校ではemacs つかってターミナルでコンパイルして実行してたのですが、
家ではOSがXPなのでやり方がわかりません。
だれかおしえてー
0519デフォルトの名無しさん
NGNGhttp://www.cygwin.com/setup.exe
でemacs&gccな環境が手に入るよ
0520デフォルトの名無しさん
NGNGありがとー
0521512
NGNG「保守性のない定数マクロを使わないこと」
なんてコーディング基準はなかったよ
命名規則はあったけど
実際は
#define D_xxx(プロジェクト名)_HANDRED
だった
0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNG//**********************************************************
static char *STRREV;
char *STRSTRREV(char *s1, char *s2)
{
char *p, *wk;
int i, len;
p = strstr(s1,s2);
len = (p - s1);
wk = malloc(len+1);
if(wk==NULL) return 0;
for(i=0; i<len+1; ++i) wk[i] = 0;
for(i=0; i<len; ++i) wk[i] = *(s1+i);
STRREV = wk;
free(wk);
return STRREV;
}
free(wk)で落ちてしまう。のでデーターが帰ってこない。
//free(wk); (コメント)にしたら問題なく動作するのですが、
free()で落ちる原因って何ですか?
コンパイラーはgcc-3.2.2-5
0524デフォルトの名無しさん
NGNG0525デフォルトの名無しさん
NGNGなんで解放した領域を返してるの?
0526デフォルトの名無しさん
NGNG0527デフォルトの名無しさん
NGNGがたまにあるのですが、そんな事は、おこり得るものなのでしょうか?
0528デフォルトの名無しさん
NGNG>>525
>>523 使い方、勘違いしてました。ありがとう^^;
0529522
NGNG0530デフォルトの名無しさん
NGNGhttp://www.cygwin.com/cygwin-icon.gif
みたいな悪趣味なアイコンができてるはずだからそれをクリック
0531デフォルトの名無しさん
NGNG0532デフォルトの名無しさん
NGNG0533デフォルトの名無しさん
NGNG「strstrの逆」ってのも意味わからんし。
0534ミナツキ サヤ ◆SAYAC2HJWE
NGNG0535デフォルトの名無しさん
NGNG0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNG0538デフォルトの名無しさん
NGNG>>533では何がしたいのかも疑問だったが、
改めてソースを見ればやりたいことはわかった。
でも、逆か?
0539デフォルトの名無しさん
NGNG事はあるのでしょうか?関数はfgetc()です。
0540デフォルトの名無しさん
NGNG>lim_(x→0) 1/x = ∞ なんだが。
lim_(x→+0) 1/x = +∞
lim_(x→-0) 1/x = -∞
lim_(x→0) 1/x = ∞ では、ありません。
だいたい、∞ は、数ではないですよ。
勉強しなおしましょう。
0541デフォルトの名無しさん
NGNG0542デフォルトの名無しさん
NGNG0543デフォルトの名無しさん
NGNG0544デフォルトの名無しさん
NGNG0545デフォルトの名無しさん
NGNG+∞はどんな数よりも大きい数を表し、-∞はどんな数よりも小さい数を表す。
矛盾した存在だけどね。
0546デフォルトの名無しさん
NGNGいや、∞の定義の仕方しだいでは lim_(x→0) 1/x=∞ になるよ。
リーマン球面とかで検索してみ。
まあ、ここまで来ると揚げ足取りでしかないけど。
0547デフォルトの名無しさん
NGNG0548デフォルトの名無しさん
NGNG「数」っていうから混乱するんだと思う。
∞はどんな「実数」よりも大きい数として定義して、
{実数, ∞} で新たな集合を作ると、これも数(というか、順序環)としての性質を持つ。
と、いい加減にスレ違いもはなはだしくなってるんだが。
0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNGつまらないと感じるのは、お前が厨房だからだってば。
0551デフォルトの名無しさん
NGNG0552デフォルトの名無しさん
NGNG>#define D_xxx(プロジェクト名)_HANDRED
ワロタ
きっとコメントに
if(x==0){
/* xが0に等しければ実行 */
:
}
とか回転だろうな...
0553デフォルトの名無しさん
NGNG0554デフォルトの名無しさん
NGNG0555デフォルトの名無しさん
NGNGx = 0;
こんなのも見たことあるYO!
0556デフォルトの名無しさん
NGNGbool setFlag(bool & data); // フラグを取得
って見たことあるよ(C++だけど)。
セッターで取得ってなにさ…
0557デフォルトの名無しさん
NGNGプログラムの気持ちになって考えているんだろう。
想像力の問題だな。
0558デフォルトの名無しさん
NGNG#define return_main return
#define return_sub1 return
#define return_sub2 return
int main(void){ return_main 0;}
void sub1(void){ return_sub1;}
double sub2(double x){ return_sub2 x;}
0559デフォルトの名無しさん
NGNG・・・ファイルの気持ちになって。
0560デフォルトの名無しさん
NGNG空白あけろよ ぼけ
> /* xが0に等しければ実行 */
こういうボケなコメントは絶対書くな
0561デフォルトの名無しさん
NGNG0562デフォルトの名無しさん
NGNGCで書かれています。
*/
#include <stdio.h>
・
・
0563デフォルトの名無しさん
NGNG#include <stdio.h>
...
0564デフォルトの名無しさん
NGNG秀丸で書きました(フォントはMS ゴシック)。
*/
/*
Cで書かれています。
*/
#include <stdio.h> /* stdio.hをインクルード */
・
・
0565デフォルトの名無しさん
NGNG秀丸で書きました(フォントはMS ゴシック)。
*/
/*
Cで書かれています。
*/
/*
精魂込めてます
*/
#include <stdio.h> /* stdio.hをインクルード */
0566デフォルトの名無しさん
NGNG0567デフォルトの名無しさん
NGNGIOCCCにあったな、それ
0568デフォルトの名無しさん
NGNGいい線ついたな
実数とdoubleの値を同一視するから話がおかしくなるんだよ
∞にばっか気をとられてるけど実数にεなんかねーし
明らかに等しくない集合に不毛な妄想(ry
0569デフォルトの名無しさん
NGNG(・ε・)キニシナーイ
0570デフォルトの名無しさん
NGNG03 CON-0 PIC 9(1) VALUE 0.
03 CON-1 PIC 9(1) VALUE 1.
以下20くらいまで続く
0571デフォルトの名無しさん
NGNGインデントしろ ぼけ
0572デフォルトの名無しさん
NGNG> Cで書かれています。
> */
/*
* Cで書かれています。
*/
にしろ ぼけ。(2桁めに*が並ぶように)
0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNG行が増えるたびにわざわざ*とか//とか書くの?
0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNGその行だけ見てコメントかどうか分からないだろ?
...ってゆーか分かりたい、分からせて
0577デフォルトの名無しさん
NGNGこれだけ見てコメントと分からない奴がいるだろうか?
0578デフォルトの名無しさん
NGNG> ...ってゆーか分かりたい、分からせて
大抵の環境で色gsdfghjkl;:」
0579デフォルトの名無しさん
NGNGあたりまえ!
それを「わざわざ」と感じるようだったら、エディターのが自動でつけてくれるやつにしろ。
0580デフォルトの名無しさん
NGNG釣りだと思うが、、、 答えとく。
fgets(b, size, f) の結果で
b が、 .*\n\0.*
の形にならないことはある。
\nに出会う前にファイルの終りに達したり、size-1 文字あったり、
その他なにかエラーが怒ったとき (怒)
0581デフォルトの名無しさん
NGNG漏ですが、次のすてっぷとして何勉強しようか迷ってます。
(一応プリグラマ志望。)
そこで、linuxのほとんどはcで書かれているいうので、そのソースでも
勉強しようと思ったが、cだけの知識じゃ足りないし・・・
マジ何しよう・・・コンピュータの世界って広いし・・・
0582デフォルトの名無しさん
NGNGそんな言語はないぞ ぼけ!
0583デフォルトの名無しさん
NGNG省いた言語ですよ ;-)
だから、その知識だけでlinuxのソースは読めないでしょう ;-)
0584デフォルトの名無しさん
NGNG以下のプログラムで悪いとこはあるのでしょうか?
原因不明です
角括弧インクルードストディオドットエイチ角括弧綴じ
ルビンの壺括弧
イント メイン 丸括弧ボイド丸括弧綴じ
プリントエフ丸括弧チョンチョンネタじゃないっすよ円マークエヌチョンチョン丸括弧綴じセミコロン
リトラン ゼロセミコロン
ルビンの壺括弧綴じ
コンパイルしようとしても
エラー E2206 netajanaissuyo.c 1: 不正な文字 '角' (0x8a70)
以下、' 'の中に
角括弧インクルードストディオドットエイチ角括弧綴じ と、
縦読みさせられました。
なぜコンパイラに馬鹿にされなければいけないんでしょう
0585581
NGNGcじゃなくてCで・・・。
0586デフォルトの名無しさん
NGNG{
int main(void)
printf("ネタじゃないっすよ¥n");
retrun;
}
まず、いちばんいけないのが、ヘッダーファイルの名前だな ;-)
あと、円記号などつかってるから改行にならない。バックすラッシュにしろ。
あと細かいところいくつか。
0587デフォルトの名無しさん
NGNG0588デフォルトの名無しさん
NGNGおまえは典型的な「で、次は何をやればいいのですか?」症候群だ。
つまり、「わかったつもりになる」だけで理解ができるわけじゃない、偽物入門書を読んで
どこもひっかからなかったが、何も得てない状態です。
そんなわけで、おまえの読んだ入門書の名前を書けよ!
それが唯一意味のある情報だ! (この本はダメ本だっていう情報ね!)
0589581
NGNG偽物入門書の情報をカキコしたところで、
漏の「わっかたつもり症候群」が理解されるの?
0590デフォルトの名無しさん
NGNG0591デフォルトの名無しさん
NGNGそいつはどうでもいいわけ。ほかのひとにとって「有用な情報」かどうかが重要。
つまり「ああ、その本を読むとこうなるのか」ってのは、かなり役立つ情報だよ。
0592デフォルトの名無しさん
NGNGちがうだろ。
「だめ」はすでに書名出す前からいわれてるんだよ。
べつに「ダメかどうか判断してあげるから名前を出せ」といわれているわけじゃなく、
「おまえの本はダメなことが判明しかたから、名前を言え」といわれてるだけなんだから。
0593デフォルトの名無しさん
NGNG0594デフォルトの名無しさん
NGNG0595デフォルトの名無しさん
NGNGcygwinをインストールして、gmpをダウンロード
./configure
make install
とやったのですが、
undefined reference to `____gmpz_mad'
と出てきます。
これはgmpライブラリをどこかに置けば解決すると思うのですが、
わかりません。どなたかおしえてくださいませ。
gmpフォルダは
d:\gmp-4.1.3
cygwinは
d:\cygwin
にそれぞれ置いています。
0596デフォルトの名無しさん
NGNG0597デフォルトの名無しさん
NGNG>>1
0598デフォルトの名無しさん
NGNG0599595
NGNGほかのスレをあたってみます
0600デフォルトの名無しさん
NGNGアホグラマに見切りをつけた>>595は勝ち組。
0601デフォルトの名無しさん
NGNG0602デフォルトの名無しさん
NGNGどこかに置いてありませんか?
>>595はなんで追い払われたんですか?
0603デフォルトの名無しさん
NGNG0604595
NGNGGIMPとは、GNU 画像(Image)処理(Manipulation)プログラム(Program)のことです。
いくらなんでもこんなのと間違わねーよ
0605デフォルトの名無しさん
NGNG0606デフォルトの名無しさん
NGNG0608602
NGNGここでできるようですが、わかりません。
MSYS のインストールで、MinGWにmakefileがないと言われます。
GMP のインストールでも
$make
でmakefileがないと言われます。
0609デフォルトの名無しさん
NGNG0610デフォルトの名無しさん
NGNG0611602
NGNG0612デフォルトの名無しさん
NGNGあんた必死すぎ
0613595
NGNG0614595
NGNG「cygwin + mingw +gcc 相談室」
ttp://pc5.2ch.net/test/read.cgi/tech/1058134693/204
にてレスしてます。
0615デフォルトの名無しさん
NGNGどこかにありませんかね?
0616デフォルトの名無しさん
NGNGおまえは、探してから聞いてるのか、と問いたい。
0617615
NGNG探してます。
ttp://www.saiensu.co.jp/book_support/4-7819-0855-1/gauss1d.txt
ここなどを見つけたのですが、
nを色々変えれるプログラム探しているのです。。。
0618!=615
NGNGby 漏れの後輩
0619デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNG0623デフォルトの名無しさん
NGNG>バックすラッシュにしろ。
してるだろ?
それがわからん ぼけ に合わせる必要などない。氏ね
0624デフォルトの名無しさん
NGNG個人的にお前がうざい。
0625デフォルトの名無しさん
NGNG出たなホモ野郎w
おまえの好みには興味がない
つーかキモいから黙ってろ
0626デフォルトの名無しさん
NGNG空白厨は(・∀・)カエレ!!
0627デフォルトの名無しさん
NGNGなんか、低レベルな煽りだね・・・
リアルで中学生?
0628デフォルトの名無しさん
NGNG0629デフォルトの名無しさん
NGNG0630デフォルトの名無しさん
NGNG0631デフォルトの名無しさん
NGNG625 名前: デフォルトの名無しさん 投稿日: 04/05/23 22:15
627 名前: デフォルトの名無しさん [sage] 投稿日: 04/05/23 22:43
628 名前: デフォルトの名無しさん 投稿日: 04/05/23 22:46
629 名前: デフォルトの名無しさん [sage] 投稿日: 04/05/23 22:52
630 名前: デフォルトの名無しさん 投稿日: 04/05/23 22:55
0632デフォルトの名無しさん
NGNGあれがバックスラッシュに見える環境など存在しない。
お前の狂った脳内を除いてはな。
0633デフォルトの名無しさん
NGNGワラタ、全部即レスw
0634デフォルトの名無しさん
NGNGプ
0635デフォルトの名無しさん
NGNGおまえまさにム板の恥だなw
0636デフォルトの名無しさん
NGNG0637デフォルトの名無しさん
NGNGあ、キモいから出直さなくていい
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNGホモ、キモい、お前そればっかだな。
0640デフォルトの名無しさん
NGNGネットヲタかホモ野郎のどっちかしかいねっつーの
0641デフォルトの名無しさん
NGNG0642デフォルトの名無しさん
NGNG0643デフォルトの名無しさん
NGNGそのまえにお前は>>586を穴が開くほど見つめなおすことを勧めるよ。
0644デフォルトの名無しさん
NGNG0645デフォルトの名無しさん
NGNGとりあえず染んでくれようぜぇ
0646デフォルトの名無しさん
NGNGお前は頭が悪いから仕方がないな。
文字コードを見れ。
0647デフォルトの名無しさん
NGNGあ、わかった、そういうこと言って、自分のまぬけな失敗をごまかそうとしてるのかな?
ふふ。
0648デフォルトの名無しさん
NGNG0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNG日本仕様と米英仕様
0651デフォルトの名無しさん
NGNG0x5C == '\'
0x2F == '/'
0652デフォルトの名無しさん
NGNGそして、意思疎通ができなくなるのものな。
0653デフォルトの名無しさん
NGNGってことは、やはりバックスラッシュではないよね。
0654デフォルトの名無しさん
NGNG0655デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNG0658デフォルトの名無しさん
NGNG>国内アスキーコード
>国内アスキーコード
>国内アスキーコード
>国内アスキーコード
0659デフォルトの名無しさん
NGNG二番煎じ、カコワルイ
0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNG0662デフォルトの名無しさん
NGNGそうなってるフォント少なくね?
0663デフォルトの名無しさん
NGNG言い訳がましいなぁ。
どのへんが「逆切れ」に見えるのかね。無理がありすぎ。
0664デフォルトの名無しさん
NGNG7/14な。
7/12なんかもそうだけど、昔はかなり曖昧だったからね。
漢字コードだって制定当時は異体字がごっちゃだったし。
5/12だけは形が全然違うからASCIIベースかISO646ベースかで
はっきり分かれてるみたいだけど。
0665デフォルトの名無しさん
NGNGputs("Hello, world\n");
#elif FAGS
puts("Hello, world\n");
#endif
0666デフォルトの名無しさん
NGNG0667デフォルトの名無しさん
NGNG0668デフォルトの名無しさん
NGNG0669デフォルトの名無しさん
NGNG煽り甲斐のあるおもちゃだなwww
0670デフォルトの名無しさん
NGNG0671ここがCスレだったころがなつかしい
NGNG/.:;;;;;;;;;;;;;;;;;;;;;::.\ ^^
/ .::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::..ヽ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::
:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::
:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::: ∧_∧
:::::::::::::::::::::::::::: ( ::;;;;;;;;:)
:::::::::::: /⌒`'''''''''''^ヽ
/⌒ヾ/ / .,;;;;;;:/.:;|
-―'――ー'''‐'ー'''―‐'―''''\,./ / .::;;;;;;:/‐'| :;|'''ー'-''――'`'
,, '''' `、 `´'、、, '''_ソ / `:;;::::ノ,,, | :;| ''' 、、,
,,, '' ,, ''''' ξ_ノ丶ー'ー< ,ゝ__> ''''' ,,,,
,, ,,,, ''' , ::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;::::::: ,,
,,,,,,, :::::::::::::::::;;;;;;;;;;;;::::::::: ''
,, ''''''' ,,,, ,, :::::::::::::;;;;;;;;::::::
0672デフォルトの名無しさん
NGNG0673デフォルトの名無しさん
NGNG題して「落伍者の朝」
0674デフォルトの名無しさん
NGNG敢えて改行文字は釣りか?
0675デフォルトの名無しさん
NGNG0676デフォルトの名無しさん
NGNG初めからあってなきが如しだがw
0677デフォルトの名無しさん
NGNG0678デフォルトの名無しさん
NGNGていうか、件のは0x5cじゃねーだろ どうみても。
0679デフォルトの名無しさん
NGNG「2バイト文字の¥なんてものを使って、アフォか?
1バイト文字のバックスラッシュに汁!」
って事では?
0680デフォルトの名無しさん
NGNG元ネタわからずに行ってるのか? おまえ
0681(´・ω・`)
NGNGvoid all(int[],int);
int main()
{
int array[3];
printf("first number ?\n");
scanf("%d",&array[0]);
printf("second number ?\n");
scanf("%d",&array[1]);
printf("third number ?\n");
scanf("%d",&array[2]);
all(array,THREE);
void all(int array_all[],int a)
{
int i;
for(i=0;i<a;i++){
printf("array[%d] = %d\n",i+1,array_all[i]);
}
}
return 0;
}
all ローカル関数の定義が正しくありません。 てでます。
どこがまちがっているのでしょうか?
0682デフォルトの名無しさん
NGNGmain()の中でall()を定義しているのはネタか?
THREEなんてマクロを定義しているのはネタか?
scanf()使っているのはネタか?
0683デフォルトの名無しさん
NGNG0684470
NGNGありがとうございました!!
おかげさまで出来たのですが・・・・・
これで「交差点」なんて絶対む(ry
いい案ください。。お願いします
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=67&fi=no
0686デフォルトの名無しさん
NGNG#define THREE 3
int main()
{
int i, array[THREE];
static const char * const num_name[] = {
"first", "second", "third",
};
void all(const int *array_all, int a) {
for(i=0; i<a; i++){
printf("array[%d] = %d\n",i+1, array_all[i]);
}
}
for(i=0; i<THREE; i++) {
printf("%s number ? >", num_name[i]);
scanf("%d",&array[i]);
}
all(array,THREE);
return 0;
}
0687デフォルトの名無しさん
NGNGつまらない課題出されてまじで困ってます。
0688デフォルトの名無しさん
NGNG鼬外
そして、CGIとは何か?から勉強し直せ
0689デフォルトの名無しさん
NGNG0690デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNG0693デフォルトの名無しさん
NGNG0694デフォルトの名無しさん
NGNG宣言はできるんでは(笑)
0696デフォルトの名無しさん
NGNG[1] ケイジバンヲヒョウジ
[2] ケイジバンニカキコミ
[3] シュウリョウ
[4] セツメイ
Input(1-4): _
とかローカルのテキストファイルを表示・追加するのを作ればいいだろ。
恐ろしく詰まらんが。
0697デフォルトの名無しさん
NGNGC++だろうが、金子はつくったよな。
0698デフォルトの名無しさん
NGNG要するにwebサーバすら使わない掲示板だろ?
キャラクターベースつーことはあれだ、CUI よ。scanf() よ。
DOSプロンプトで「氏ね」と煽るのよ。
中央マザーコンピューターにデーターが送信されて
なんかロボ子みたいのが「データー ヲ イッケン ジュシン シマシタ」とか言うのよ。
んでなんか発光ダイオードがテカってて、博士がそれを見て
「おおっ、これは……」とか言った途端にロボ子故障。
キーボードが爆発したりドアに高圧電流を流されたりして絶体絶命!
どうなる>>687! 頑張れ>>687!!
('A`)ノ ごめん。気がすんだ。
0699デフォルトの名無しさん
NGNGキンコ
0700デフォルトの名無しさん
NGNG0701正弦波
NGNG0702デフォルトの名無しさん
NGNGマルチ氏ね
0703デフォルトの名無しさん
NGNG#include <math.h>
main(){
int i;
for(i=0;i<=40;i++) printf("%*s\n",(int)(20*sin(i/10.0*3.1416)+22),"*");
}
0704デフォルトの名無しさん
NGNGstdio.hがないYO!
0705デフォルトの名無しさん
NGNGあったほうが良いし、書くべきだろう。
が、なくても良い。
それに対して、math.hのほうは無いと非常にまずい。
0706デフォルトの名無しさん
NGNGprintfみたいな可変個引数の関数ってプロトタイプ宣言ないと規格上はだめじゃなかった?
0707デフォルトの名無しさん
NGNGそんなことない
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNG>>705なくても良いって言ってるのは、>>705の環境ではコンパイラが
勝手にstdio.hをインクルードしてくれるから。
なのでは?
0711(´・ω・`)
NGNGint main()
{
int array[] = "i was gey";
printf("length = %d\n",length(array));
return 0;
}
int length(char length_all[])
{
int i,sum = 0;
for(i=0;length_all[i]!='\0';i++)
{
sum++;
return sum;
}
}
i was gey が何文字か調べて返す関数を作ったのですが。
charとintの使いかたがおかしいのかエラーがでます。 どこが
違いますでしょうか?
0712(´・ω・`)
NGNG0713デフォルトの名無しさん
NGNG下までスクロールさせてからまた上に戻るのはめんどいから
0714デフォルトの名無しさん
NGNG引数がレジスタ渡しになっているとそうなるな。
>>709
戻り値の問題。
0715デフォルトの名無しさん
NGNGCなら1秒間に何回ダウンロードできますかね?perlではせいぜい3、4回
(毎秒300kbのADSLで実験、ファイルサイズが3kbでも100kbでも結果は同じ)
なんですが、Cならもっと早いですか?
0716デフォルトの名無しさん
NGNGそんなの理屈で回線速度に依存することがわかるだろ。
しかもサーバーに無用な負荷をかける迷惑行為だ。
0717デフォルトの名無しさん
NGNG同じ回線速度でCとPerlを比較してどっちがどれだけ早いか知りたいです。
>しかもサーバーに無用な負荷をかける迷惑行為だ。
そのページ刻々とデータが更新されるのでいたしかたないんです。
0718デフォルトの名無しさん
NGNGCとPerlよりも先に回線速度がボトルネックになるのでどっちも同じようなもんだろ。
それとは関係なく一般にはチューニングすればCの方が高速に動作する。
>そのページ刻々とデータが更新されるのでいたしかたないんです。
可能なら更新されたかどうかを先にチェックするようにしとけ。
つか板違い。
0719デフォルトの名無しさん
NGNGPerlの場合、回線速度はボトルネックにならないと思います。
3kのファイル1秒に4回ダウンロードしてもたかだか12kですから。
0720yano
NGNG初心者入門としてオススメを教えてください!
0721デフォルトの名無しさん
NGNGはいはい。
Cで書き換えて100倍高速になる可能性は誰にも否定しないから試してみたら。
>>720
なぜCスレで聞く?
0722yano
NGNG0723デフォルトの名無しさん
NGNGなんじゃそりゃ。誰かテストした人いませんか〜〜〜
0724デフォルトの名無しさん
NGNG目的は?
0725デフォルトの名無しさん
NGNGとか言えばいいのか?
0726デフォルトの名無しさん
NGNGだから一般論としては>>716,718で終わってんの。
それでゴネるなら実際に試してみろって話だよ。
ボトルネックがどこにあるかなんて>>715だけじゃ分からないんだよ。
0727yano
NGNGとくに強い目的があるわけじゃないけど・・・。
プログラミングとかオープンソースのプロジェクトとかに加わってみたいって
ゆうのが一番の目的かもしれないです!!
0728デフォルトの名無しさん
NGNG今すぐ出来るぞ。
働いて金を振り込め。
これで君もプロジェクトの一員だ!
0729デフォルトの名無しさん
NGNGプロジェクトに参加したいならマニュアル作成がまじおすすめ。
日本語と少しの英語があればすぐ始められるYO!
0730デフォルトの名無しさん
NGNGならここ見て決めたら。
http://sourceforge.net/softwaremap/trove_list.php
プラットフォームは商用アプリに見放されて
アプリ作り放題なLinuxがお勧め。
0732yano
NGNGやっぱりLinuxでアプリ作るにしてもCを最初に覚えるのがいいのでしょうか?
初心者にもできるでしょうか?
0733デフォルトの名無しさん
NGNGどっか行けよ。
みんなも構うなよ
0734デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNG厨房は英単語でも覚えてきな。
0736デフォルトの名無しさん
NGNG> gets(700);
getsつかうなよ ぼけ
0737デフォルトの名無しさん
NGNG> そんなことない
そのとおり (いちおう)。
> 以前プロトタイプが無いとprintfの出力がおかしくなる処理系があったような。
LSI-Cだ。で、あれもいちおう規格を満たしている。
つまり、「そのとおり」は「いちおう」でしかない。
つまり「ふつう平気」なだけ。
0738デフォルトの名無しさん
NGNG0739デフォルトの名無しさん
NGNG人数を決めた後、人数分の身長を入力して
最高値・最小値・平均値を計算するプログラムってどうなるんですか?
0740デフォルトの名無しさん
NGNG0741デフォルトの名無しさん
NGNG0742デフォルトの名無しさん
NGNGわー、すごいねー
0743デフォルトの名無しさん
NGNGfor(i=1;i<3;i++) {
b[i]=0.0;
for(j=0;j<10;j++)
b[i]=b[i]+(a[i][j]-h[i])*(a[j][i]-h[i])/10;
hh[j]=sqrt(b[j]);
}
printf("入力されたデータと個人の合計点/科目ごとの平均点");
fprintf(fp_out,"入力されたデータと個人の合計点/科目ごとの平均点");
fprintf(fp_out, "/科目ごとの平均点\n");
printf("学籍番号 英語 数学 合計\n");
fprintf(fp_out, "学籍番号 英語 数学 合計\n");
for(i=0;i<10;i++) {
printf("%-8d %6d %6d %6d\n",a[i][0],a[i][1],a[i][2],a[i][3]);
fprintf(fp_out, "%-8d %6d %6d %6d\n",a[i][0],a[i][1],a[i][2],a[i][3]);
}
printf("平均点 %8.1f %6.1f\n",h[i],h[2]);
fprintf(fp_out, "平均点 %8.1f %6.1f %6.1f\n",h[i],h[2],h[3]);
printf("分散 %10.1f %6.1f\n", b[1], b[2]);
fprintf(fp_out, "分散 %10.1f %6.1f\n", b[1], b[2]);
printf("標準偏差 %6.1f %6.1f\n",hh[1],hh[2]);
fprintf(fp_out, "標準偏差 %6.1f %6.1f\n", hh[1],hh[2]);
fclose(fp_in);
fclose(fp_out);
return 0;
}昔学校で作ったやつがローカルに残っていたから利用してみ
0744デフォルトの名無しさん
NGNG#include <math.h>
int main(void)
{
FILE *fp_in, *fp_out;
int a[11][4], i, j;
float b[4], h[4], hh[4];
fp_in = fopen("a:\\score.txt", "r"); //ドライブAから読み込み
fp_out = fopen("a:\\33333", "w"); //ガクセキバンゴ
printf("\n\n学籍番号 名前\n\n");
fprintf(fp_out,"33333 名前\n\n");
printf("10人分のデータを学籍番号 英語 数学の順でフロッピーから入力します\n");
for(i=0;i<10;i++)
fscanf(fp_in, "%d %d %d", &a[i][0], &a[i][1], &a[i][2]);
for(i=0;i<10;i++)
a[i][3]=a[i][1]+a[i][2];
for(j=1;j<4;j++) {
a[10][j]=0;
for(i=0;i<10;i++)
a[10][j]=a[10][j]+a[i][j];
}
h[1]=a[10][1]/10.0;
h[2]=a[10][2]/10.0;
h[3]=a[10][3]/10.0;
こっちが先
0745デフォルトの名無しさん
NGNG最大値、最小値は簡単だが、
平均値は難しいぞ (誤差がたまらないようにやるには)
0746デフォルトの名無しさん
NGNG何に対しての書き込み?
0747デフォルトの名無しさん
NGNG激しくスレ違い
0748デフォルトの名無しさん
NGNGこちらでどうぞ
http://pc5.2ch.net/test/read.cgi/tech/1084697545/l50
0749デフォルトの名無しさん
NGNGこんな俺にお勧めの本は無い?
0750デフォルトの名無しさん
NGNG日本語で『こんにちはと、言う。』と入力すれば
ダイアログに『こんにちは』と出るプログラミング言語登場!!
PNGもサポートしてるので、かなりおすすめです!!
また、【『http://www.xxxx.xx/』を、『index.htm』へ、HTTPダウンロード。】
とすれば自動的にダウンロードできる優れ物です!!
↓日本語プログラミング言語『ひまわり』
http://hima.chu.jp/index.htm
↓日本語プログラミング言語『ひまわり』スレッド
http://pc5.2ch.net/test/read.cgi/tech/1083053283/l50
0751デフォルトの名無しさん
NGNG関数ポインタのことか?
0752デフォルトの名無しさん
NGNGISBN 4901465538 とか
ISBN 4062115506 など
0753デフォルトの名無しさん
NGNGmalloc.hを自分で作って、インクルードパス指定して流してやればいいかと思ってたんですけど、
MSCのほうにもmemalignを宣言していないmalloc.hがあるようなので、
ソースファイルの変更は防げないんじゃないかと思ってます。
0754デフォルトの名無しさん
NGNGコンパイル→ビルド→実行したんですが、
VC++6.0にsleng関数ってなんだよゴルァって怒られて、動きません・・・。
ソースは一字一句間違いなく入力していると思うのですが。
どなたか原因をご教授願えれば幸いです。
当方の環境はVC++6.0です。
#include "stdio.h"
main()
{
int n;
int sleng
char astr[50];
while(1){
scanf("%s",astr);
n = sleng(astr);
printf("length --> %d\n", n);
}
}
sleng(s)
char *s;
{
int n=0;
while(*s++) n++;
return(n);
}
0755デフォルトの名無しさん
NGNGhttp://www.nanoelectronics.jp/kaitai/quantumcom/3.htm
http://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%AF%E3%83%AA%E3%83%83%E3%83%89%E3%81%AE%E4%BA%92%E9%99%A4%E6%B3%95
ここらへんのサイトを参考に作ってみたんですが、どこがいけないんでしょうか?
#include<stdio.h>
#include<stdlib.h>
int gcd(int m,int n);
int main(void)
{
int a,n,x,f,r,tmp;
printf("素因数分解したい数を入力してください:");
scanf("%d",&n);
//1.nより小さいxを適当に選ぶ
x=rand()%n;
//2.xとnの最大公約数fを計算する
f=gcd(n,x);
if(f!=1){
printf("素因数は %d です\n",f);
exit(0);
}
------- つずく (なぜか変換できない)-------
0756デフォルトの名無しさん
NGNGtmp=x;
if(x%n==1) r=1;
else{
r=2;
for(;;){
x=x*tmp;
r=r++;
if(x%n==1) break;
}
x=tmp;
}
//4. x^(r/2)-1 とnの最大公約数、もしくは x^(r/2)+1 とnの最大公約数の
// いずれかが1以外の数字なら、それがnの素因数である
for(a=2;a<(r/2);a++) x=x*tmp;
if((gcd(x-1,n))!=1) printf("素因数は %d です\n",gcd(x-1,n));
if((gcd(x+1,n))!=1) printf("素因数は %d です\n",gcd(x+1,n));
return 0;
}
//ユークリッドの互除法により
//二つの引数の最大公約数を求める関数
int gcd(int m,int n)
{
if(n==0) return n;
while(1){
if(!(m%n)){
m=n;
n=m%n;
}else{
return n;
}}}
0757デフォルトの名無しさん
NGNGどうせなら、ワーニングやエラーも一字一句間違いなく書けばいいのに。
0758デフォルトの名無しさん
NGNGおまいもだ。どううまくいってないんだ?話にならんな
0759デフォルトの名無しさん
NGNGint sleng --> int sleng(char*);
それにしてもお前さんが使ってる本は恐ろしく古い書き方をしてるな。
>>757
同意。でもワーニングじゃなくてウォーニング。
0760デフォルトの名無しさん
NGNGプロトタイプ宣言がらみじゃないのん?
0761755
NGNG例えば 15 の素因数を求めると 10 が、19 だと 16 が出てきました。
あと、今気づきましたが 20 以上を入れるとエラーダイアログが出て強制終了されてしまいます。
どこを直せばいいんでしょうか?
>>759
独習Cで勉強中です。上のプログラムはオリジナルなんですが、古いんですか・・・
0762760
NGNG0764デフォルトの名無しさん
NGNGありがとうございます。
会社から渡されたのが、昭和60年発行のはじめての"C"って本なんですよ。
自前で何冊か買ったものの、参考にしてはいいが、こっちベースにやれ!と言われたもので。
古い書き方、今では使わない言い回し(?)ってのもあるんですね。
勉強になりました。
もしかしたら、また何度かお世話になるかもしれないです。
0765764
NGNG手元にあるのは初版の第12刷ですよ。
逆に言えばそれだけ優れた本、ってことなんですかね?
ボロボロだけど、愛着もってこの本で勉強していきたいと思いますw
0766764
NGNGこれですw
0767デフォルトの名無しさん
NGNGttp://www.linux.or.jp/JM/html/LDP_man-pages/man3/pow.3.html
0768デフォルトの名無しさん
NGNGgcd()が間違っとるな。
if(temp=(m%n)){
m=n;
n=temp;
}else{
0769デフォルトの名無しさん
NGNG悪いことは言わん、その本で勉強しろなんていう会社は辞めて私の勤める会社にうわなにをするやあsd
0770デフォルトの名無しさん
NGNGわーにんぐ...
> ------- つずく (なぜか変換できない)-------
つずく...
0771デフォルトの名無しさん
NGNG空白空けろ ぼけ
0772デフォルトの名無しさん
NGNG'\x81\x40' みたいに2バイト書くことは標準規格でゆるされていますか?
その場合、どっちの順に書けばいいんでしょうか? (整数的に0x8140になるためには)
0773デフォルトの名無しさん
NGNG構造体の方の仕方を教えてください。
0774デフォルトの名無しさん
NGNG49頁に載ってるけど
それと微妙に違う。
main関数内でのプロトタイプ宣言が
int n, Sleng(char *);
になってて
Sleng関数は、ふつうに
int Sleng(char *s)
{
........
}
になってる。
サンプルコードがたくさん載っている。
しかし、ポインタ/文字列がらみで
意地悪な書き方がしてあって
???と思うような
むつかしいのが多い。
115頁に載ってる"Sins関数"
というのが未だに???だ。
0775デフォルトの名無しさん
NGNG常駐マカー死ね
0776デフォルトの名無しさん
NGNG0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNG駄目だった気が。
gcc ではできるけど、VCでは無理だし。
>>773
構造体の2重定義って?
0779デフォルトの名無しさん
NGNG0781デフォルトの名無しさん
NGNGヘッダファイル自体を多重読み込み防止処理しる!
0782デフォルトの名無しさん
NGNG標準のヘッダファイルみて勉強しようという心がけはないのか?
その程度じゃダメだな。
stdio.hとかstdlib.hとか、片っ端から読めよ。
0783デフォルトの名無しさん
NGNG0784デフォルトの名無しさん
NGNG努力がいやなら死ね。
0785デフォルトの名無しさん
NGNG土方的な回答求めるような奴には,土方的回答示すのが道理だろ。
スマートに規格書示しても,ウザがられるのがオチ。
0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNG>スマートに規格書示しても
ぜひ示してください。
0788デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNG死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
0790デフォルトの名無しさん
NGNG標準関数のヘッダファイルをグチャグチャにいじって
さらにあらたなバグが出るように仕組むのはどうですか?
0791デフォルトの名無しさん
NGNG#define NULL (void *)0x81815963
0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNG0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNG#defint double int
0796デフォルトの名無しさん
NGNG0797デフォルトの名無しさん
NGNG質問がなしでどうしろと?
まぁ,晒しとくか。
http://std.dkuug.dk/jtc1/sc22/wg14/www/standards
0798デフォルトの名無しさん
NGNG英語なんて読めるわけないじゃんバーカバーカ
0799デフォルトの名無しさん
NGNG0800デフォルトの名無しさん
NGNGそんなに自分を責めなくても...
0801デフォルトの名無しさん
NGNGソフトウェアキーボードが出力した「ABC」という文字列を、他のアプリには、
さもキーボードからの入力のように標準入力からの入力で受けとってもらいたいのです。で、私の頭の中では、ソフトウェアキーボードから標準入力に出力(?)するような
イメージなのですが、どのようにして良いのか分かりません。
お手数ですが、どなたか教えていただけますか?
OSはLinux
コンパイラはGCC
C言語経験は1ヶ月です。
0802デフォルトの名無しさん
NGNGどのようにして良いのかすらわからん奴が、そんなもの作ろうとするな。
0803773
NGNGできました。ありがとうございました。
ヘッダーファイルの先頭にそのファイル名に近い(_HOGE_H_ 等)マクロを置いて、
ヘッダーからヘッダーをインクルする時のみ、以下のように書くとできました。
#ifndef _HOGE_H_
#include "hoge.h"
#endif
0804デフォルトの名無しさん
NGNG0805デフォルトの名無しさん
NGNG「インクルードガード」でググれ。
っていうアドバイスが手っ取り早いかね。
0806デフォルトの名無しさん
NGNG二回わろた。
0807デフォルトの名無しさん
NGNG惜しいな。まあもう少しで分かるだろうからがんばって調べてみな。ググったほうが早いと思うが。
0808デフォルトの名無しさん
NGNG多重インクルードをガードしなきゃいけないようなはめになるほうがおかしい。
逆にいえば、ガードすると、インクルード関係を把握しないまま、「とにかく多めにしときゃいい」
的にだんだんぐしゃぐしゃになって把握できないような、スパゲdティーどころではないさわぎの
ものが出来上がる可能性大。
実際そういうのをいくつもみてくてる。
0809デフォルトの名無しさん
NGNGはあ?
0810デフォルトの名無しさん
NGNGa.hに依存するb.hと、同じくa.hに依存するc.h。
さて、とあるソースではb.hとc.hをインクルードしなきゃいけない。
お前さんは、この状態をおかしいと言うのか?
0811773
NGNG>>805
調べてみます。
>>808
前はその方法でした。
ただ、ソースファイルでインクルードする順番が違うと、
ヘッダーファイルの方にエラーが出たのでめんどくなりました。
0812デフォルトの名無しさん
NGNGがんがれ。なお、808はスルーしろ。
0813デフォルトの名無しさん
NGNG> さて、とあるソースではb.hとc.hをインクルードしなきゃいけない。
そもそもそれが設計ミス。そんないいかげんな構成のでも、とりあえずコンパイルできるように
しちゃえってのが、横着すぎー
0814773
NGNG前はマクロとか構造体を少ないヘッダーにまとめていたのですが、
変更するとたくさんのソースがコンパイルし直されて時間がかかるので、
たくさんのヘッダーに小分けにするようにしたら直面しました。
どういう風に小分けにするといいか勉強します。
0815デフォルトの名無しさん
NGNG0816デフォルトの名無しさん
NGNG0817デフォルトの名無しさん
NGNGそれを設計ミスと言われちゃ、矛盾するぞ?
おまえはスパゲティがやなんだろ?
それはスパゲティにならないようにヘッダファイルをまとめとくようなもんだおるが。
0818デフォルトの名無しさん
NGNGscanfで一度EOFを読み込むと
そのプロセスではscanfが何もしなくなるます。
なぜ?
0819デフォルトの名無しさん
NGNGEOFのままだから
0820デフォルトの名無しさん
NGNG0821デフォルトの名無しさん
NGNG他の奴が気をつけてくれれば、それでいいよ。
0822デフォルトの名無しさん
NGNG0823デフォルトの名無しさん
NGNGただし、多重インクルードそのものが問題というより、こっちのほうが楽だからそうしよう。
という安易さが諸悪の根源だったような気がする。
あとどうしたか覚えてないけど、途中からRCSでファイルの管理をやりだして、
ファイルの頭になんだかつけなくちゃいけなくなったときにすごい困ったような覚えがある。
0824818
NGNGEOFのままだとなぜscanfできない?
EOFじゃなくすにはどうすれば?
0825753
NGNG0826デフォルトの名無しさん
NGNG好きにしろよ。
0828デフォルトの名無しさん
NGNG> おまえはスパゲティがやなんだろ?
> それはスパゲティにならないようにヘッダファイルをまとめとくようなもんだおるが。
いいえ「スパゲッティーでもコンパイルできるようにするため」にやるものですよ。
0829デフォルトの名無しさん
NGNGb.c で c.h をインクルード
c.h で d.h をインクルード
c.h で e.h をインクルード
d.h で f.h をインクルード
d.h で c.h をインクルード
ふつうにコンパイルしたら、コンパイルが無限時間かかるか、賢いコンパイラーなら
「ファイルの参照関係がループしています」でコンパイルを打ちきってしまって、
コンパイルしてくれませんが、
2重インクルード防止の#defineと#ifをつけておけばコンパイルできます!
どうだ! すごいだろう!
0830デフォルトの名無しさん
NGNGおまいはファイル末尾まで読んだ後で、何を読み込んだら満足するんだ?
0831デフォルトの名無しさん
NGNG(って思ってるのかも)
0832デフォルトの名無しさん
NGNGEOF は、それ以降入力がないことを示すものだ。
入力がないのに入力しようとするな。
0833デフォルトの名無しさん
NGNGある.ファイルで、int hoge;のようにグローバルとして定義した変数の値を、
別のファイルで扱うとき、わざわざfoo = get_hoge();のようにして、
値を取った方がよいというのはなぜでしょうか?
単に、foo = hoge;としてもよいように思うのですが。
0834デフォルトの名無しさん
NGNG0835デフォルトの名無しさん
NGNGオブジェクト指向宗派の戯言。
こんな思想がまかり通るからデバッグし辛いのなんのって…
この手のやつってデバッガでウォッチ対象に設定できないことが多々あるんで。
0836デフォルトの名無しさん
NGNGオブジェクト指向宗派の戯言。
こんな思想がまかり通るからデバッグし辛いのなんのって…
この手のやつってデバッガでウォッチ対象に設定できないことが多々あるんで。
0837質問です。
NGNGそれで、printf("%.*f",mm,yy); ってやったんです。 mmが切捨てる小数点で、
yyがfloatの値なんですけど、できないんですよ。
どうすればいいんですか?
0838デフォルトの名無しさん
NGNG0839デフォルトの名無しさん
NGNGグラフが連結であるかどうかを調べるプログラムが
作れなくて困っています。
どなたかソースを持っている方いないでしょうか?
よろしくお願いします。
0840デフォルトの名無しさん
NGNGその根性が気に入らん。
0841デフォルトの名無しさん
NGNGバッファに格納していって、途切れてなかったら連結って判定するけどね。
アルゴリズムわかればできんじゃない? てか、Cにバッファがあるのかもわからん
次元だけどね。 ちなみにおれも2年
0842デフォルトの名無しさん
NGNG変数のスコープと関数のスコープを別に定義できるんだったら、
そういうほうほうもありかもしれないね。でもCでは無理
0843デフォルトの名無しさん
NGNG「循環路がないかどうか」
「最短路」はどれか、
なんていう基本は、
void先生の本を買えば身に付きますね。(ど忘れしてもすぐコードを思い出せる程度には)
0844デフォルトの名無しさん
NGNGなぜか中途で中小ITに採用されて、今会社で本渡されて独学でC勉強してます。
文字型とか配列はなんとか理解、してる“つもり”なんですが、
先のほうのページちょろちょろ見てると、構造体とかポインタとかさっぱり理解できない。
しかも今までのところも文法的なことは理解してるんだけど、
サンプルプログラム見ても、ちょっと複雑なのは???ばっかり・・・。
なぜそうなる、ってロジック組む(読む)のが苦手っぽいです。
正直適性ないのかも、って思ってるんだけど、
正直こんな俺どうなんでしょう・・・。なんかもう自信なくしちゃって・・・。
試用期間で、まだまだ迷惑かからないうち(勉強だけして給料もらうわけだから)に辞めたいとも思ってます。
ホントは開発側じゃなくて、パソコンを使う方、総務や営業事務なんかが合ってるような気がするんですよね。
あと1ヶ月、渡された入門本を終えるまではとりあえず頑張ってみて、
そこでもうだめぽと悟ったら辞めようと思っています。
まだVBなら取っつきやすそうだったりするんですが、会社ではVBを使った案件はないとのこと。
C言語って、簡単じゃないですよね?
プログラミングの基礎すらわかってないヤツに、アドバイスとか、
オススメな勉強法なんかあったら教えてくれませんか?(´・ω・`)
素直にもう辞めたら?でもいいですし、漏れと同じ境遇だった人なんかいればアドバイス頂ければ幸いです。
0845デフォルトの名無しさん
NGNG本に載ってるようなことは聞くな
0846デフォルトの名無しさん
NGNG先輩がいないんですよ。
会社本社(という名の雑居ビル3階ワンフロア・小学校の教室大くらい)
には事務のおばちゃんと経理のおっちゃん、あと社長しかいない・・・。
ちょっと古めパソコンとデスクがが10数台分あるんだけど、
誰一人として座ってない。
社員20人程度は、全員客先に派遣されてるらしい。
なんもわからない事務のおばちゃんにC言語の本渡されて、
「これ1ヶ月で覚えてねー、終わったら実際にプログラム組んでもらう課題出すから。」とのこと。
ちらっと新人研修と書かれたファイル見て、中にあった課題見たら、
いったい今勉強してる文法をどうやって並べれば作れるの?って感じ・・・(´・ω・`)
学校の講義みたいな、大手がやるような集合研修とかだったらまだ理解できたのかな?(´・ω・`)
0847デフォルトの名無しさん
NGNGプログラマ板に行ってよ(´・ω・`)
0848デフォルトの名無しさん
NGNGってエラーが出るんですけど
どんなことすると、このエラー出るか教えてチョンマゲ
「互換でない型変換をした時だよ」ってレスは無しで(´・ω・`)
0849デフォルトの名無しさん
NGNGこれが最大の理由でありヒントでもある…ってとこ?
0851848
NGNGkeisan(*a, *b, x);
mainでdouble a[n], double b[n]に数値を5個ずつ入れて
xでforループをまわして、その中でkeisanで計算する予定なんですが
エラーが出てます。
プログラム苦手でどう説明したらいいかも分からない状況で・・・
0852デフォルトの名無しさん
NGNG構造体省略
int main(void)
{
int n,i;
char namae[10];
printf("氏名 電話番号 年齢 給料 誕生日 住所 性別\n");
for(n=0; n<10; n++){
printf("%s %s %d %d %s %s %s\n",pv[n].name,pv[n].tel,pv[n].age,pv[n].salary,
pv[n].birth,pv[n].address,pv[n].gender);
}
printf("\n名前を入力してください\n");
scanf("%s",namae);
for(pv[i]=0; pv[i].name==namae; i++) /*←この行でエラーが出ます*/
{
printf("%d\n",pv[n].age);
}
return 0;
}
なんだかよくわからなくなってきました。手直しお願いします。
0853デフォルトの名無しさん
NGNGkeisan(a, b, x);
0854デフォルトの名無しさん
NGNGfor(pv[i]=0; !strcmp(pv[i].name,namae); i++)
エラーが出るのなら、こうしても駄目だろうがな。
0855デフォルトの名無しさん
NGNGありがとうございます。
二項演算子 '=' : 型 'const int' の右オペランドを扱う演算子は定義されていません。(または変換できません)
というエラーが出ました。
0856デフォルトの名無しさん
NGNGマジレス。
適性なさそうだから辞めておいたら?
パソコンってブラックボックスだからね。
GUIでExcelいじってネットやってる分には意識しないだろうが、
論理的かつ数学的な世界なのよ。
システム運用とか鯖監視とかなら、
この業界でも仕事ありそうだけどな。
やりがいがあるかどうかは別として。
総務や営業事務か。
パソコンを使って、社内の業務を効率化!みたいなのがやりたいのかな。
まぁガンガレ。
総務で社内システム担当になったとき、
もし俺らに外注で仕事出すときがあったら、
納期は多めにとってくれ、よな?w
0857848
NGNG試してみました。見事エラーなくなりました。
ありがとうございます
でも、今度は計算のアルゴリズムがおかしいようです・・・
何とか自分でやってみます
0858854
NGNGあー、構造体に整数を入れようとしているじゃないか。
pv[i]=0←ここ
i=0だろ
0859デフォルトの名無しさん
NGNGありがとうございます。
何度も申し訳ないです。
エラーは出ないんですが、実行して名前を入力しても年齢が表示されません。
0860デフォルトの名無しさん
NGNGn じゃなくて i
0861デフォルトの名無しさん
NGNGプロジェクト作ったあと、
メインフレームクラスやチャイルドフレームクラスの
プリクリエイト関数の中で、
cs.style |= WS_MAXIMIZE;
とやっても画面が最大化された状態で実行ができません。
cs.style |= WS_MINIMIZE;
の場合はタイトルバーだけの最小化された状態で実行OKでした。
WS_MAXIMIZEの場合は、何が問題あるのでしょうか?
教えてください。
0862デフォルトの名無しさん
NGNGnという正の整数が入った変数があるとして
1,2,6,...,n!の数列を出力したいのですが
どういう計算になるのでしょうか?
0863デフォルトの名無しさん
NGNG2重のループ
0864デフォルトの名無しさん
NGNG空白あけろ ぼけ
0865デフォルトの名無しさん
NGNG{
if (n <= 1) {
return 1;
}
return n * factorial(n - 1);
}
0866デフォルトの名無しさん
NGNG(a-b)>0 と a>b との違いについてですが、
オーバーフローが発生する値の時、前者は挙動未定義で、
後者は正しく動くと思いますが、それ以外に違いはありますか?
0867デフォルトの名無しさん
NGNG0868デフォルトの名無しさん
NGNG> 後者は正しく動くと思いますが、
aやbが変数ではなく、その型であふれるような定数の場合のことか?
そうでなくて変数なら、前者も後者もオーヴァーフローは発生しないぞ。
アンダーフローのことか?
0869デフォルトの名無しさん
NGNGグローバルを生で晒すと書き換えられるのを嫌って、
変数をファイルスコープに絞り、値の取得は関数を使うようにしている
書き換えも許すなら、グローバルにしても同じこと。
0870デフォルトの名無しさん
NGNG条件が足りてませんでした。a,b共に符号付き整数型変数(int)を想定しています。
int a = INT_MIN;
int b = 1;
if ((a-b) > 0) printf("(a-b) > 0 true\n");
if (a > b) printf("a > b true\n");
0871デフォルトの名無しさん
NGNGオーバーフローで未定義の動作って時点で
genericな話としてはすでに結論が出ちまってる
だから議論を続けられるとしたら処理系依存ありってことで・・・
* (a-b)>0
mov a,r1
mov b,r2
sub r2,r1
* a>b
mov a,r1
mov b,r2
cmp r2,r1
おまえさんとこの汗では
subtractとcompareはどう違うんだ?
0872デフォルトの名無しさん
NGNGstatic int hoge;
0873デフォルトの名無しさん
NGNGmovl $-2147483648, -4(%ebp)
movl $1, -8(%ebp)
movl -8(%ebp), %edx
movl -4(%ebp), %eax
subl %edx, %eax
testl %eax, %eax
jle L15
subl $12, %esp
pushl $LC0
call _printf
addl $16, %esp
L15:
movl -4(%ebp), %eax
cmpl -8(%ebp), %eax
jle L16
subl $12, %esp
pushl $LC1
call _printf
addl $16, %esp
L16:
Win32のgcc3.2.3(mingw)で、こうです。
オーバーフローを考えなければ特に違いはなさそうですが。。
0874デフォルトの名無しさん
NGNGrand関数を複数回呼び出すまではわかったのですが…。
0875デフォルトの名無しさん
NGNGrand を複数回呼び出しても0〜65535の範囲にはならんぞ。
正規乱数にでもしたいの?
普通、[0, N) 間での範囲の乱数を作りたければ
rand() / (1.0 + RND_MAX) * N
とする。
これを int にキャストすれば0〜N-1の整数乱数が得られる。
0876874
NGNGr=rand() / (1.0 + RAND_MAX) * 65535;
として10億回試行したんですが
0〜65533
しか抽選できませんでした。
long型を最後にint型にしているのですが、これがいけないのでしょうか?
0877874
NGNGr=rand() / (1.0 + RAND_MAX) * 65536;
ですね。これだと、0〜65534でした。
0878デフォルトの名無しさん
NGNG0879マネージャ
NGNG私はPGじゃないのでさっぱりわからなくてお手上げです。
文字列"[aaaaa.bbbbbb.cccccc.ddddddd.eee]"があるのですが
一番最後(右端)のピリオドを探し出し、それ依然の文字のみ取り出す形で
結果"[aaaaa.bbbbbb.cccccc.ddddddd]"にしたいのですが
方法がわかりません。どなたか教えていただけないでしょうか
お願いします。
0880デフォルトの名無しさん
NGNG0881デフォルトの名無しさん
NGNGchar moji[] = "aaaaa.bbbbbb.cccccc.ddddddd.eee";
*strrchr(moji, '.') = '\0';
}
0882デフォルトの名無しさん
NGNGif(str[i-1]=='.'){
str[i]=0;
str[i-1]=str[strlen(str)];
break;
}
}
0883デフォルトの名無しさん
NGNGfor(int i=strlen(str);i>0;i--)
if(str[i-1]=='.'){
str[i-1]=str[strlen(str)+1];
str[i]=0;
break;
}
}
0884マネージャ
NGNGどれを使用させていただけばよろしいでしょう
0885マネージャ
NGNG"[aaaaa.bbbbbb.cccccc.ddddddd.]"
と最後のピリオドが残ってしまいました。
"[aaaaa.bbbbbb.cccccc.ddddddd]"にするには
どこでマイナス1すればよろしいでしょうか?
0886マネージャ
NGNGstr[i]=0; を str[i-1]=0;
にしたら期待していた値が変数にはいりました。
しかし難しいですね
ループ内で何が行われてるか分からず
最後のstr[i]=0; にいきなりほしい結果が入るので
まさにキツネにつままれた感じでした。マジックですね!!
どうもありがとうございました。
0887デフォルトの名無しさん
NGNGchar moji[] = "aaaaa.bbbbbb.cccccc.ddddddd.eee";
strrchr(moji, '.')[-1] = '\0';
}
0888デフォルトの名無しさん
NGNGstrrchrの戻り値をチェックしろよ。
0889デフォルトの名無しさん
NGNG0890デフォルトの名無しさん
NGNG0891デフォルトの名無しさん
NGNGまじですか?
0892デフォルトの名無しさん
NGNG0893デフォルトの名無しさん
NGNG0894デフォルトの名無しさん
NGNG0895デフォルトの名無しさん
NGNG文字列をA B C としたら
A AB ABC
B BC
C
0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNG0898デフォルトの名無しさん
NGNGchar *hoge;
size_t len, width, from;
len = strlen(hoge);
for (width=1; width<=len; width++)
for (from=0; from<=(len - width); from++)
printf("%.*s\n", width, hoge + from);
つか宿題スレ向きだな。
0899デフォルトの名無しさん
NGNG0900デフォルトの名無しさん
NGNGA B C Dの場合なら
A AB AC AD ABD ABC ACD ABCD
B BC BD BCD
C CD
D
0901デフォルトの名無しさん
NGNG「長さ L からなる文字列の、M 文字目から N 文字を抜き出す」じゃないの?
>>900
それ順列。
0902901
NGNG0903デフォルトの名無しさん
NGNG0904デフォルトの名無しさん
NGNG�@と�Aが違うのはどう理解すればいいんでしょうか?
�@に*が、�Aに[]がないのはどうしてですか?
void swap(int[]�@,int,int);
int main()
{
int array[] = {1,2,3,4,5},i;
printf("before\n");
for(i=0;i<5;i++)
printf("array[%d] = %d\n",i,array[i]);
swap(array,2,3);
printf("after\n");
for(i=0;i<5;i++)
printf("array[%d] = %d\n",i,array[i]);
return 0;
}
void swap(int *a�A,int num1,int num2)
{
int tmp;
tmp = *(a+num1);
*(a+num1) = *(a+num2);
*(a+num2) = tmp;
}
0905デフォルトの名無しさん
NGNG0906デフォルトの名無しさん
NGNGvoid swap(int [], int, int);
という宣言は、
void swap(int *, int, int);
と書いても同じ。
ついでに言えば、
void swap(int array[], int index1, int index2);
と書いても同意だ。
私なら*(a+num1)と書かずにa[num1]と書くが、
それはまた別の話か。
>>905
プログラマじゃなくても読み手の環境を特定できない状況で使って欲しくないね。
0907デフォルトの名無しさん
NGNGまずは http://www.kouno.jp/home/c_faq/c6.html を読め。それから質問しろ。
0908デフォルトの名無しさん
NGNGC言語とかのプログラミング言語って習得できる?
なんか就職試験でプログラマ適性試験ってあるくらいだから、
向き不向きってあるんですかね?
C言語なんかのに向いてる人ってどんな人ですか?
0909デフォルトの名無しさん
NGNG頑張れば誰だって覚えられるさ。
ただ、それを仕事にするのは向き不向きがあると思うが。
0910デフォルトの名無しさん
NGNGこれが一番大事な適正です。
0911デフォルトの名無しさん
NGNG0912デフォルトの名無しさん
NGNGスレ違いに気付かないようじゃどうしようもないな。
PG 以前に、大人として。
0913デフォルトの名無しさん
NGNGたぶん学生だと思うが?
文脈から読めないようじゃお前もダメだな。
あ、俺もか。
0914デフォルトの名無しさん
NGNG覚えてできるもんじゃない。
そもそも理解できない人も多いと思う。
まぁそれは努力に比例するんだろうが。
誰でもできるっていうなら、
俺も今からでも頑張れば野球選手になれるってことだよなw
でも、それはしない。
>>908
それはなぜだと思う?
0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNG最後にあ、俺もか。って書いてあるじゃんw
0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNG0921デフォルトの名無しさん
NGNG会社入って初めてプログラミングに触れるSEもいますよ、いっぱい。
0922ここはマ板じゃありません
NGNG/∴∵∴∵∴\
/∴/∴∵\∴∵丶
/∴<・>∴∵<・>∴∵|
|∵/ ● \∴| tanasinn
|/三 ,/ 三 |∴|
|: (___|____/ |:/
\ \_/ /∴\
\____/∴∵∴| ●
━(〒)━\∴∵∴| <
| |∴∵∴| /
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::
:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::: ∧_∧ !?
:::::::::::::::::::::::::::: Σ( ::;;;;;;;;:)
:::::::::::: /⌒`'''''''''''^ヽ
/⌒ヾ/ / .,;;;;;;:/.:;|
-―'――ー'''‐'ー'''―‐'―''''\,./ / .::;;;;;;:/‐'| :;|'''ー'-''――'`'
,, '''' `、 `´'、、, '''_ソ / `:;;::::ノ,,, | :;| ''' 、、,
,,, '' ,, ''''' ξ_ノ丶ー'ー< ,ゝ__> ''''' ,,,,
0923ここはマ板じゃありません
NGNG/∴∵∴∵∴\
/∴/∴∵\∴∵丶
/∴<・>∴∵<・>∴∵|
|∵/ ● \∴| tanasinn
|/三 ,/ 三 |∴|
|: (___|____/ |:/
\ \_/ /∴\
\____/∴∵∴| ●
━(〒)━\∴∵∴| <
| |∴∵∴| /
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::
:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::: ∧_∧ !?
:::::::::::::::::::::::::::: Σ( ::;;;;;;;;:)
:::::::::::: /⌒`'''''''''''^ヽ
/⌒ヾ/ / .,;;;;;;:/.:;|
-―'――ー'''‐'ー'''―‐'―''''\,./ / .::;;;;;;:/‐'| :;|'''ー'-''――'`'
,, '''' `、 `´'、、, '''_ソ / `:;;::::ノ,,, | :;| ''' 、、,
,,, '' ,, ''''' ξ_ノ丶ー'ー< ,ゝ__> ''''' ,,,,
0924デフォルトの名無しさん
NGNGSEってPGスキルない香具師だと思ってたyo (w
0925デフォルトの名無しさん
NGNG{}の内容をどうすれば直るでしょうか。
#include <stdio.h>
int main(void)
{
int *ints[] = {{1,2,3}, {4,5,6}};
char *chars[] = {"hoge", "foo"};
return 0;
}
0926デフォルトの名無しさん
NGNGエラー(警告含む)が起きたのならばエラーメッセージを書きましょう。エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。
0927デフォルトの名無しさん
NGNG{}の内容の方を変えたいのか?
0928デフォルトの名無しさん
NGNG0929デフォルトの名無しさん
NGNG書かれなきゃわからんのか?
0930925
NGNGVC何ですが。
warning C4047: 'initializing' : 間接参照のレベルが 'int *' と 'const int ' で異なっています。
error C2078: 初期化子の数が多すぎます。
warning C4047: 'initializing' : 間接参照のレベルが 'int *' と 'const int ' で異なっています。
>>927>>928
何か本を見ていた所charの方が載っていたので、
intでもできるかなと実験してみた所エラーになりました。
0931925
NGNGVC何ですが。
warning C4047: 'initializing' : 間接参照のレベルが 'int *' と 'const int ' で異なっています。
error C2078: 初期化子の数が多すぎます。
warning C4047: 'initializing' : 間接参照のレベルが 'int *' と 'const int ' で異なっています。
>>927>>928
何か本を見ていた所charの方が載っていたので、
intでもできるかなと実験してみた所エラーになりました。
0932デフォルトの名無しさん
NGNG0933デフォルトの名無しさん
NGNG0934デフォルトの名無しさん
NGNGってのは
char s[]={'a','b','c','\0'};
ちなみに int n[]={1,2,3,4}; とは書ける
0935デフォルトの名無しさん
NGNG0936デフォルトの名無しさん
NGNG嘘は教えるな。
0937デフォルトの名無しさん
NGNG0938デフォルトの名無しさん
NGNG0939デフォルトの名無しさん
NGNG0940デフォルトの名無しさん
NGNG0941デフォルトの名無しさん
NGNG0942デフォルトの名無しさん
NGNG0943デフォルトの名無しさん
NGNG0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNGfor(i=0;i<=7;i++)を
繰り返し行いたいのです。
つまり、iは0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7,0,1,2,3,4・・・
としたいのです。
そこで以下の分を作ったのですが
気になっているのはgotoを用いたことです。
下の文と同じ意味を持つ文をgotoを使わずに組むことはできますか?
また、この場合はgotoを使ってもいいのでしょうか?
while(1)[
for(i=0;i<=7;i++){
何らかの処理
if(条件式==128){
goto nukedashi;
}
0946デフォルトの名無しさん
NGNG続きの文を載せます。
goto nukedashi;
}
}
}
nukedashi:
なんですが・・・どうでしょうか?
0947デフォルトの名無しさん
NGNGchar *s="abc";
ってなんだ?w
0948デフォルトの名無しさん
NGNGbreak;すりゃ良いだろ
0949デフォルトの名無しさん
NGNG参考書にも載ってるのに、なんで使っちゃだめなの?
0950デフォルトの名無しさん
NGNGそのケースでgotoを避ける奴は例外なく低脳
0951デフォルトの名無しさん
NGNGwhile(1)に吸収され、またfor文を行うことになってしまいます。
かといって、for文の}の下にbreakをつけると
8回ごとしかfor文を抜け出てこないので
for文を任意の回数実行させたい時に困ってしまいます。
0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNGお前の書いたソース見なきゃ答えられない。
0954デフォルトの名無しさん
NGNGでは、この場合は使ってもいいということですか?
>>949さん
goto文を使うとプログラムが読みにくくなるそうです。
スパゲッティ プログラム goto
でググってみると色々見つかります。
0955デフォルトの名無しさん
NGNG0956デフォルトの名無しさん
NGNGfor(i=0;i<=7;i++){
何らかの処理
if(条件式==128){
flag = 1;
break;
}
}
flagを使えばまあ一応書けるが。
0957デフォルトの名無しさん
NGNGgotoを使って読みにくくなる規模であれば、関数にして 途中でreturnすればよい。
そう大きくなくとも、後々を考えて関数化しておくと都合が良い場合もあるだろう。
>>956のような手はお勧めしない。
0958デフォルトの名無しさん
NGNGありがとうございました。
私個人としては、この場合のgotoは
スパゲッティにならないのでいいと思っていました。
>>956さんの方法もメモしておきます。
私のプログラムは全然大きくないので
とりあえず私の方式で行くことにします。
0959デフォルトの名無しさん
NGNGfor(i=0;;i=(i+1)&7){
なんらかの処理
if(条件式==128){
break;
}
}
こんなんでどうよ?
0960デフォルトの名無しさん
NGNG0961デフォルトの名無しさん
NGNGその構造体に読み込ませるテストデータをファイルで用意しといて、
再婚パイルしなくてすむようにしたいです。そういう場合、
例えば
struct T1 {
char str[10];
int a;
int b;
};
のような構造体に読み込ませるデータは
"Hello, world"
1
2
とか書いておいて順番にロードしていくような
イメージでいるんですが、何かもうちょっとうまい
方法ってありますかね?皆さんはこういう場合
どういう風にテストデータを読み込ませてますか?
0962デフォルトの名無しさん
NGNG文字列 1 2
:
ってデータに汁かな
0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNGvoid StrnCpy(char *szDest, char *szSrc) {
szDest = (char*)malloc(strlen(szSrc)*sizeof(char));
strcpy(szDest, szSrc);
printf("StrnCpy内: %s\n", szDest);
}
int main(void) {
char *szPtr, *szSrc = "hoge";
StrnCpy(szPtr,szSrc);
printf("StrnCpy外: %s", szPtr);
return 0;
}
というようなコードを書いたんですが、出力はこうなります。
> StrnCpy内: hoge
> StrnCpy外: (null)
StrnCpy関数内部で割り当てたメモリは関数外部には持ち出せないようなのですが、これを回避するにはどうすれば
良いのでしょうか?ポインタを返すにはstaticとすると思いますが、この場合staticなローカル変数を宣言、初期化して
アドレスを第一引数(szDest)にコピーしても結果は変わりませんでした。どうか解決法をお願いします。
0965デフォルトの名無しさん
NGNG0966964
NGNGszDest = (char*)malloc(strlen(szSrc)*sizeof(char)+1);
とする必要がありそうですね。あと、この場合はUnicode利用時に発生する
文字数←→バイト数問題は放置の方向でお願いします。
0967デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNG*szDest = (char*)malloc(strlen(szSrc)*sizeof(char));
strcpy(*szDest, szSrc);
printf("StrnCpy内: %s\n", *szDest);
}
char *szPtr, *szSrc = "hoge";
StrnCpy(&szPtr,szSrc);
0970964
NGNGhttp://black.sakura.ne.jp/~third/programming/c/c25.html
このあたりの解説を読んでコードを書いているうちに>>969さんの書き込みに気付いてちょっとカンニングしてしまいましたが。
Cに対する理解が深まった気がします。本当にありがとうございました。
0971デフォルトの名無しさん
NGNG- void StrnCpy(char *szDest, char *szSrc)
+ char *StrnCpy(char *szDest, char *szSrc)
{
szDest = (char*)malloc(strlen(szSrc)*sizeof(char));
strcpy(szDest, szSrc);
printf("StrnCpy内: %s\n", szDest);
+ return szDest;
}
int main(void)
{
char *szPtr, *szSrc = "hoge";
- StrnCpy(szPtr,szSrc);
+ szPtr=StrnCpy(szPtr,szSrc);
printf("StrnCpy外: %s", szPtr);
return 0;
}
0972デフォルトの名無しさん
NGNGmainのmapを変更するとmapDataが変更されるようにしたいのですができません。
1次元配列ならできたのですが、2次元でのやり方を教えてください。
int *[5]GetMap(void)
{
static mapData[5][5];
return map;
}
int main(void)
{
int *map[5] = GetMap();
return 0;
}
0973デフォルトの名無しさん
NGNGなんか凄いソースだな。
それはさておき、無理に高次元配列に拘らなくてもええやん。
1次元配列を使ってあとは自前でシミュレートすれば。
0974デフォルトの名無しさん
NGNGm GetMap(void);
int (*map)[5]=GetMap();
0975デフォルトの名無しさん
NGNGint (*GetMap(void))[5]
{
static int mapData[5][5];
return mapData;
}
int main(void)
{
int (*map)[5] = GetMap();
return map[0][0];
}
0976デフォルトの名無しさん
NGNGint main(void)
{
int i, j;
for (j = 0; ; j++) {
i = j & 7;
何らかの処理;
if(条件式 == 128){
break;
}
}
}
128ならループの外で判断できそうだが。
0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNG;
0979ボブ
NGNGスルー動作とは解りやすくいうと何ですか?詳しく教えて下さい。
お願いします。
0980デフォルトの名無しさん
NGNG0981972
NGNG>>973
今まではそのやり方でやっていました。
1次元にして[y*MAP_SIZE_X+x]みたいな感じにして。
>>974>>975
どちらもできました。
まだ、この文法が分からないので、参考にさせてもらい勉強します。
0982945
NGNGありがとうございます。
実行速度はn%8よりn&7のほうが速いのですね。
勉強になりました。
四則演算と同じ計算をビット演算で行える時は
ビット演算を使いたいと思います。
あと、なるべくgotoは使わずに
>>959さん>>976さんの方法を使ってみたいと思います。
それでは、しつれいします。
0983デフォルトの名無しさん
NGNG書くのも、それだけのために他関数に飛ばしてソースを追いにくくするのも馬鹿らしい場合なんかには
積極的に使ってもいいんじゃないかと@Microsoft
0984デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/prog/1072018444/
0985デフォルトの名無しさん
NGNG0986デフォルトの名無しさん
NGNGC言語プログラミング能力認定試験(3級)を受けようと
思っていますが、どのくらいの難しさでしょうか?
自分は「独習C」で勉強した程度です、アドバイスお願いします。
0987デフォルトの名無しさん
NGNG俺が知っているものと同じなら、Cの歴史も勉強しておけ。
0989デフォルトの名無しさん
NGNG0990デフォルトの名無しさん
NGNGC言語なら俺に聞け! Part 81
http://pc5.2ch.net/test/read.cgi/tech/1085806791/
0991デフォルトの名無しさん
NGNGfor(m_hoge=1;m_hoge<m_hoge2;m_hoge++)
のようにメンバ変数をforに入れるより
int hoge2=m_hoge2;
for(int i=1;i<hoge2;i++)
とした方が高速化するといわれ、実際にやってみたら高速化したんですが
これはどのような理由ででしょうか?
新たに変数を作ってコピー回数が増えて逆に遅くなるんじゃないか?と思ったのですが・・・
初歩的な質問ですみません。
0992デフォルトの名無しさん
NGNGそのm_hogeというのは実際はa.m_hogeみたいな形か?
それなら比較するたびに構造体の中からメンバーを取り出す手間が省けるから速くなったんじゃないの?
0993デフォルトの名無しさん
NGNGhttp://www.emit.jp/prog/prog_opt0.html
ここに同じような最適化の例がある。
0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNG---終了---
0996デフォルトの名無しさん
NGNG氏ね
0997デフォルトの名無しさん
NGNGコンパイラが賢ければどちらも同じになる。
メンバ変数ということはC++でスレ違いだが、コンパイラがforの内側の処理でそれが
変更される可能性があると思ってしまうと、毎回メモリアクセスになってしまう。
0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。