C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
※前スレ
C言語なら俺に聞け 152
https://mevius.5ch.net/test/read.cgi/tech/1560763630/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
C言語なら俺に聞け 153
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 5fba-LL4R)
2019/08/17(土) 23:02:42.00ID:tN5mSQYg02さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd33-XbXL)
2019/08/18(日) 01:45:05.03ID:f2ZPM7Xhd 乙。くるしうない。
3デフォルトの名無しさん (ワッチョイ 132c-BF++)
2019/08/18(日) 03:38:02.60ID:26pp6bRY0 仮想アセンブラは、元々、日本の情報処理資格試験用に、CASL2 が作られた。
個別のCPU 命令では、試験にふさわしくないから、抽象化した命令が必要だった
でも、世界的には流行らなかった
それで、学生が作った、LLVM に、Apple が飛びついた
個別のCPU 命令では、試験にふさわしくないから、抽象化した命令が必要だった
でも、世界的には流行らなかった
それで、学生が作った、LLVM に、Apple が飛びついた
4デフォルトの名無しさん (ワッチョイ 13a5-1WPq)
2019/08/18(日) 09:39:05.87ID:S9bN8HAf0 実像を見てない試験で社会から乖離してるな
バkの集団なんだろうか?
それともz80の問題だしたらライセンス料でも払わないといけないのか?
カネに掛けてはとかくケチな貧乏人が思い付きそうな小手先だ
至るところで独自規格で無意味の羅列、全く学習にならず、受けるだけムダな試験が練り上げられる
バkの集団なんだろうか?
それともz80の問題だしたらライセンス料でも払わないといけないのか?
カネに掛けてはとかくケチな貧乏人が思い付きそうな小手先だ
至るところで独自規格で無意味の羅列、全く学習にならず、受けるだけムダな試験が練り上げられる
5デフォルトの名無しさん (ワッチョイ 39f6-g2bq)
2019/08/18(日) 09:57:01.01ID:OvlvScl60 試験用のアセンブラは、仕様を公開せずに
試験問題の中で初見にすればいい
それで対応力を試すようにすれば
いくらか意味のある試験になる
試験問題の中で初見にすればいい
それで対応力を試すようにすれば
いくらか意味のある試験になる
6デフォルトの名無しさん (ラクッペ MMa5-66q6)
2019/08/18(日) 10:09:11.56ID:/GvnB8qbM 以前に実施されていたマイコン応用システム開発技術者試験のアセンブラ問題は8080, Z80, 6800からの選択だった
現在の情報処理試験エンベデッドシステムの前身となった資格試験
現在の情報処理試験エンベデッドシステムの前身となった資格試験
7デフォルトの名無しさん (ワッチョイ 13a5-1WPq)
2019/08/18(日) 10:17:41.38ID:S9bN8HAf0 実際に使えないものを教えられてるのは英語と同じだな
CASLやっても機械語の練習にならない
「教育用」にまで形骸化すると使い物にならない、現実と実用から乖離する、ファンタジーになる、
これが「教育用」の弊害だ
PASCAL不人気の原因もここら辺にあるんじゃねえか?
IT界隈は教育用と実用の間で揺れてる
CASLやっても機械語の練習にならない
「教育用」にまで形骸化すると使い物にならない、現実と実用から乖離する、ファンタジーになる、
これが「教育用」の弊害だ
PASCAL不人気の原因もここら辺にあるんじゃねえか?
IT界隈は教育用と実用の間で揺れてる
8デフォルトの名無しさん (ワッチョイ 8bf2-Zpsd)
2019/08/18(日) 12:10:38.91ID:RmgmCswc0 >>2 先生 700行の数式パーサーまたHPに載せて下さい!
9デフォルトの名無しさん (ワッチョイ d144-9R4q)
2019/08/18(日) 13:54:54.01ID:NDt9ShII0 ハゲタマゴどこ行った
10デフォルトの名無しさん (ワッチョイ d901-KVZO)
2019/08/19(月) 00:21:34.86ID:IzREAmBO0 生理がこないんですけど
どうしたらいいですか?
どうしたらいいですか?
11デフォルトの名無しさん (ワッチョイ b9f2-oami)
2019/08/19(月) 01:35:14.42ID:HWxct0dM0 >>10
D
D
12デフォルトの名無しさん (ワッチョイ 5995-dCD9)
2019/08/19(月) 02:31:19.64ID:WV8MsfnG0 コンパイルもリンクも正常に動いているようだぞ
生まれたのがバグじゃなくて良かったな ha ha ha
生まれたのがバグじゃなくて良かったな ha ha ha
13入門 (ワッチョイ d901-QMAU)
2019/08/19(月) 07:50:31.64ID:AfRfI86I0 http://program-lecture.info/c_structure5.html
ここのサイトを見ながら学習しているのですがこのshowStatus関数では何故int配列を
int型の仮引数で受け取れてるのでしょうか?配列は配列かポインタでしか受け取れないと思ってたんですが
その認識は間違ってますか
よろしくお願い致します。
ここのサイトを見ながら学習しているのですがこのshowStatus関数では何故int配列を
int型の仮引数で受け取れてるのでしょうか?配列は配列かポインタでしか受け取れないと思ってたんですが
その認識は間違ってますか
よろしくお願い致します。
14デフォルトの名無しさん (ワッチョイ 13ad-qB3k)
2019/08/19(月) 08:28:31.64ID:kSnvMIS70 >>13
showStatus()はint型でもint型配列でもなくcharacter型を受け取ってるようだが?
showStatus()はint型でもint型配列でもなくcharacter型を受け取ってるようだが?
15デフォルトの名無しさん (ワッチョイ 8b69-LL4R)
2019/08/19(月) 09:48:04.61ID:O1nZQbpw0 showStasus() の引数は struct person 型の実体を受けてる
main では
struct person 型の配列を用意 party[]
配列の各要素 party[0], party[1] のぞれぞれについて showStatus() を呼んでいる
本質的には
void foo(int arg);
int main() {
int array[2];
foo(array[0]);
foo(array[1]);
return 0;
}
これと同じ
main では
struct person 型の配列を用意 party[]
配列の各要素 party[0], party[1] のぞれぞれについて showStatus() を呼んでいる
本質的には
void foo(int arg);
int main() {
int array[2];
foo(array[0]);
foo(array[1]);
return 0;
}
これと同じ
17蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 4901-n+xS)
2019/08/19(月) 20:10:40.78ID:GYeBbzEk0 >>8
あのコードは今となっては時代遅れだ。意味がない。
あのコードは今となっては時代遅れだ。意味がない。
18デフォルトの名無しさん (ワッチョイ 09a3-m73o)
2019/08/19(月) 20:19:09.86ID:PrhOfqin0 先生書き直さないんですか?w
19蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 4901-n+xS)
2019/08/19(月) 20:20:07.30ID:GYeBbzEk020デフォルトの名無しさん (アウアウカー Sa5d-KcV4)
2019/08/24(土) 22:48:02.26ID:UVaZe+22a 下のコードの部分を実行すると、最後の行だけ2回表示されます。
理由はなぜでしょうか?また、最後も1回にするにはどう変更したら良いでしょうか?
よろしくお願いします。
http://codepad.org/WCL1vHLd
理由はなぜでしょうか?また、最後も1回にするにはどう変更したら良いでしょうか?
よろしくお願いします。
http://codepad.org/WCL1vHLd
21デフォルトの名無しさん (ラクッペ MM69-RTXP)
2019/08/24(土) 23:20:14.88ID:xKwct0SAM >>20
if ( !fgets(buf, sizeof(buf), fp) ) break;
if ( !fgets(buf, sizeof(buf), fp) ) break;
2220 (ワッチョイ f125-KcV4)
2019/08/25(日) 00:34:55.25ID:9+tsViui02320 (ワッチョイ f125-KcV4)
2019/08/25(日) 00:46:09.40ID:9+tsViui0 >>22 の修正だと最後の行以外にもだいぶ表示されなくなってました。
どうするのが正解なのでしょうか?
どうするのが正解なのでしょうか?
24デフォルトの名無しさん (ワッチョイ d663-P0k6)
2019/08/25(日) 00:52:09.44ID:uvOm2rq20 良いのか?って聞かれると
色々言いたくなる奴が大勢出てきそう
色々言いたくなる奴が大勢出てきそう
25デフォルトの名無しさん (ワッチョイ d663-P0k6)
2019/08/25(日) 01:04:15.99ID:uvOm2rq20 >>23
//while ( !feof(fp) ) {
while (fgets(buf, sizeof(buf), fp)!=NULL){
//fgets(buf, sizeof(buf), fp);
こんなんでどうか
//while ( !feof(fp) ) {
while (fgets(buf, sizeof(buf), fp)!=NULL){
//fgets(buf, sizeof(buf), fp);
こんなんでどうか
2620 (ワッチョイ f125-KcV4)
2019/08/25(日) 03:58:18.71ID:9+tsViui0 >>25 うまくいきました! Thanks!
やっぱり俺に訊けスレですね。ここの人達はすごい。
if ( (fp = popen(cmdline,"r")) == NULL ) {
perror ("can not exec commad");
}
while (fgets(buf, sizeof(buf), fp)!=NULL){
printf("%s", buf);
}
pclose(fp);
最終的にこうなりなした。助かりました。
やっぱり俺に訊けスレですね。ここの人達はすごい。
if ( (fp = popen(cmdline,"r")) == NULL ) {
perror ("can not exec commad");
}
while (fgets(buf, sizeof(buf), fp)!=NULL){
printf("%s", buf);
}
pclose(fp);
最終的にこうなりなした。助かりました。
27デフォルトの名無しさん (ワッチョイ 7a2c-3Uq+)
2019/08/25(日) 04:09:39.00ID:SpCWKyo10 Ruby では、Windows の、powershell, clip コマンドも呼べる。
UTF-8, CP932 の文字コード変換もできる
クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip ) # 連続する空白類を除去する
IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
UTF-8, CP932 の文字コード変換もできる
クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip ) # 連続する空白類を除去する
IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
28デフォルトの名無しさん (アウアウクー MM73-Ivwm)
2019/09/12(木) 14:34:32.33ID:PzZxK66KM defineマクロで以下をやりたいです。
struct my{
int d0 =0;
int d1 =0;
int d2 =0;
int d3 =0;
int d4 =0;
}:
struct my val;
val[0:2] = (1, 1, 1);
と入力した時にvalのdata0〜data2に1が入るようなマクロはどう書けばいいですか?
struct my{
int d0 =0;
int d1 =0;
int d2 =0;
int d3 =0;
int d4 =0;
}:
struct my val;
val[0:2] = (1, 1, 1);
と入力した時にvalのdata0〜data2に1が入るようなマクロはどう書けばいいですか?
29デフォルトの名無しさん (ワッチョイ ff2f-lH3V)
2019/09/12(木) 18:39:59.73ID:7fKDA9wF0 __VA_ARGS__ つこて2段呼び出しだな
qiita.com/saltheads/items/e1b0ab54d3d6029c9593
qiita.com/saltheads/items/e1b0ab54d3d6029c9593
30デフォルトの名無しさん (ワッチョイ 9f68-Ivwm)
2019/09/15(日) 10:20:29.94ID:Y/GLm+KZ0 >>29
ありがとうございます。
リンクを参考に、可変引数にするマクロまでは出来ました。(作った関数が間違えていたらすみません。)
struct my def2(struct my val, int s, int e, int d1, int d2){
int *p = val.d0;
*(p+s) = d1:
*(p+e) = d2;
return val;
}
/*def3省略*/
#define GET_MACRO(_1,_2,_3,NAME,...) NAME
#define DEF(val,s,e,...) GET_MACRO(__VA_ARGS__, def3, def2)(val,s,e,__VA_ARGS__)
ここから、表記を変える方法が分かりません。
下のようなことをしたいのですが、このように書くとコンパイルエラーになりました。
どう書けばいいでしょうか。
#define VAL[A:B]=(...) DEF(VAL,A,B,__VA_ARGS__)
ありがとうございます。
リンクを参考に、可変引数にするマクロまでは出来ました。(作った関数が間違えていたらすみません。)
struct my def2(struct my val, int s, int e, int d1, int d2){
int *p = val.d0;
*(p+s) = d1:
*(p+e) = d2;
return val;
}
/*def3省略*/
#define GET_MACRO(_1,_2,_3,NAME,...) NAME
#define DEF(val,s,e,...) GET_MACRO(__VA_ARGS__, def3, def2)(val,s,e,__VA_ARGS__)
ここから、表記を変える方法が分かりません。
下のようなことをしたいのですが、このように書くとコンパイルエラーになりました。
どう書けばいいでしょうか。
#define VAL[A:B]=(...) DEF(VAL,A,B,__VA_ARGS__)
31デフォルトの名無しさん (ワッチョイ ff12-k1Ft)
2019/09/15(日) 12:30:40.49ID:58rKn0L90 マクロ使わずにこれで十分だろ。
typedef struct my;
val = (my){1,1,1};
val = (my){1,1,1,1};
以下のようにはできるけど、
マクロの多用は誰もソースを読みたくなくなるから避けたほうがいいよ
#define SET(v,...) v=(struct my){__VA_ARGS__}
SET(val, 1, 1, 1)
typedef struct my;
val = (my){1,1,1};
val = (my){1,1,1,1};
以下のようにはできるけど、
マクロの多用は誰もソースを読みたくなくなるから避けたほうがいいよ
#define SET(v,...) v=(struct my){__VA_ARGS__}
SET(val, 1, 1, 1)
32デフォルトの名無しさん (ワッチョイ 9f68-Ivwm)
2019/09/15(日) 13:05:57.26ID:Y/GLm+KZ033デフォルトの名無しさん (ワッチョイ ff12-k1Ft)
2019/09/15(日) 13:41:31.71ID:58rKn0L90 #define SET(x,s,e,...) memcpy(((int*)&val)+s,&(int[]){__VA_ARGS__},sizeof(int)*(e-s))
SET(val, 1, 3, 1, 1)
SET(val, 1, 4, 1, 1, 1)
部下がこんなコード書いてきたら突っ返すわ
SET(val, 1, 3, 1, 1)
SET(val, 1, 4, 1, 1, 1)
部下がこんなコード書いてきたら突っ返すわ
34デフォルトの名無しさん (ワッチョイ 1fd2-bRiQ)
2019/09/15(日) 15:47:59.75ID:v7T7Pyv90 ID:Y/GLm+KZ0 が上司だったらと想定してみよう。
35デフォルトの名無しさん (ワッチョイ ff12-k1Ft)
2019/09/15(日) 15:59:14.90ID:58rKn0L90 自分の考えが浅はかでした。申し訳ありません
36デフォルトの名無しさん (ワッチョイ ff7c-6eqr)
2019/09/17(火) 11:43:21.23ID:tz0JLczQ0 >>34
背中を撃たれてしまうのでは・・・?
背中を撃たれてしまうのでは・・・?
37デフォルトの名無しさん (アウアウクー MM73-Ivwm)
2019/09/17(火) 13:01:08.68ID:pZqZMIzxM うーん、どうにかして上のように[]を使って書き換えることは出来ないのですかね。
ちなみに下のようにして全パターン定義しようとしたらエラーでした。何故でしょうか。
#define val[0:2]=(...) DEF(val,0,2,__VA_ARGS__)
ちなみに下のようにして全パターン定義しようとしたらエラーでした。何故でしょうか。
#define val[0:2]=(...) DEF(val,0,2,__VA_ARGS__)
38デフォルトの名無しさん (ワッチョイ 1fd2-bRiQ)
2019/09/17(火) 14:46:00.52ID:nfIIVgp70 マクロ諦めてインライン関数にしたら?
39デフォルトの名無しさん (アウアウウー Sa63-ErpI)
2019/09/17(火) 19:09:34.89ID:g1BlUkdva >>37
なぜって、#defineを使用するための構文を完全に無視してるからだよ。こちらが思ったことを都合良く解釈してくれるわけでなく、構文通りの単純な置換をしてくれるだけだよ。
一度ちゃんと調べておいた方がいい。
なぜって、#defineを使用するための構文を完全に無視してるからだよ。こちらが思ったことを都合良く解釈してくれるわけでなく、構文通りの単純な置換をしてくれるだけだよ。
一度ちゃんと調べておいた方がいい。
40デフォルトの名無しさん (アウアウクー MM73-Ivwm)
2019/09/17(火) 19:57:33.48ID:pZqZMIzxM■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★2 [蚤の市★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- JAが"政府の備蓄米買い上げ"見越して価格下げず!?「古いコメは食用向きでないなどと理由をつけ...」専門家解説 [煮卵★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【結婚の壁】結婚どころか今まで恋愛経験は一切ない人も…「年収500万の壁」を突破できない中間層の苦しい現実 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 本当の問題は高市がバカなことじゃなくて高市みたいなバカを支持するバカが大量にいることだよな [314039747]
- 【高市悲報】レーダー照射で日本が喧嘩売ってる中、アメリカ軍「我々はパールハーバーを忘れない」と日本に向けてポストへ [709039863]
- 高市首相「自らの命は自らが守るという原則で、行動とっていただきたい」 [256556981]
- メモリ不足、ジャガイモ農家が原因だった [422186189]
- 【ひまわり内閣】ネトウヨ「国会に高市さんが封筒と書類の束持ち込んでる!🤩用意周到!すごい!」6万いいね [359965264]
- ゲソ専門店『あしざんまい』を開こうと思うのだが
