C言語なら俺に聞け 140 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 6f8c-8ulf)
垢版 |
2017/05/11(木) 22:20:03.99ID:cn414UR90
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/


http://echo.2ch.net/test/read.cgi/tech/1487757355/
http://www.geocities.jp/c_cpp_cs/about_c/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2017/06/07(水) 11:32:37.62ID:F8quZWoL0
>一から実用になる物を作ったことがあり
を指してるのは
(自作した)インタプリタと (自作した)アセンブラ じゃなく
既存のインタプリタと既存のアセンブラによって得られた生成物
だよな?
2017/06/07(水) 11:49:04.14ID:SSzPpmQQ0
情報処理資格の組み込み・エンベッドのテキストに書いてある

宇宙産業・医療機器・産業機械などは、組み込みの高資格を持っていないと無理。
この領域では、すぐに人が死ぬから、MISRA-C に準拠していないと、使えない。
国際的に、MISRA-C 無しのCは、製品には使えない

各人が、個別のアセンブラで学ぶことは、
各人が個別の言語で話すことと同じになり、分断される

だから日本の情報処理資格では、CASL2 という抽象的なアセンブラで、議論する。
それをまねたのが、LLVM。
だから外国が、LLVMに飛びついた

>>395
を参照
411デフォルトの名無しさん (アウーイモ MMa1-8pkt)
垢版 |
2017/06/07(水) 12:42:49.70ID:AU15h8rIM
>>408
Cで作られたかどうかは関係ないだろw
2017/06/07(水) 19:23:59.78ID:vdjoMcEt0
>>408
大概の言語ならコンパイラもあるんじゃないの?py2cとかperl2cなんかもあるし。
2017/06/07(水) 20:09:08.11ID:sUBS3aGw0
QZ怒りの流れを無視した無知晒しレス
414デフォルトの名無しさん (ワッチョイ eaea-q7dZ)
垢版 |
2017/06/07(水) 23:18:34.34ID:Mt8hQ3L40
鶴亀算のプログラムが違うと言われたのですが、どこが違うか教えてくださいm(_ _)m
#include <stdio.h>
int main(void){
int a;//足の合計
int b;//頭の合計
int c;//鶴1羽の足の数
int d;//亀1匹の足の数
int x,y;
scanf("%d %d %d %d",&a,&b,&c,&d);
//全部が鶴だとする
x = c * b;
//実際の足数の合計-全部が鶴の場合の足数
x = a-x;
//亀の数
x = x / 2;
//鶴の数
y = b - x;

printf("%d %d\n",x,y);
return 0;
}
そもそも鶴亀算の計算方法がネットで調べてもよく分かりませんでした
2017/06/07(水) 23:36:19.43ID:SnVv1syS0
それだとd使ってないから正しいはずないよね

もはやC言語関係ないが
//亀の数
x=x/(d-c);

てか連立一次方程式解けないってガチな小学生?
2017/06/08(木) 00:38:33.35ID:g5GXU2ST0
またQZが自演工作を始めたよ
2017/06/08(木) 06:54:57.70ID:XoSqWmPA0
Hello!!
418デフォルトの名無しさん (ワッチョイ 0bcb-Fz1p)
垢版 |
2017/06/08(木) 17:37:09.59ID:JhfPMuMm0
https://ideone.com/iVXO9e
上のコードのどこが間違っているのか分かりません
動くようにするにはどのようにしたらよろしいですか?
2017/06/08(木) 17:55:38.25ID:B37qUMHpd
>>418
引数の個数
2017/06/08(木) 17:58:25.99ID:B37qUMHpd
https://ideone.com/OyxrXn
2017/06/08(木) 19:15:57.89ID:g5GXU2ST0
おいQZゴミコード投下をこのスレでもやるのかよ
また臭くなったなこのスレ
2017/06/08(木) 19:22:01.48ID:JhfPMuMm0
>>419
マクロの使い方じゃなくて定義の方を改変してほしいです
423デフォルトの名無しさん (ワッチョイ 9d97-Eb90)
垢版 |
2017/06/08(木) 19:40:15.68ID:HjFtHmDJ0
>>422
結局、何がしたいのか?
2017/06/08(木) 19:40:15.97ID:vowgkzVG0
https://ideone.com/rXDfUM
f3の仕様知らんから適当だけど、こんな感じか?
2017/06/09(金) 04:09:12.83ID:tFl0611n0
>>424
ありがとうございます
それを求めてました
2017/06/09(金) 11:40:03.51ID:i7mtMiOg0
おいQZ
宿題スレと同じようなレスするなよゴミ
2017/06/09(金) 16:20:13.99ID:vSS0Y+fX0
マクロ地獄w
2017/06/09(金) 20:25:14.30ID:CAB9wzmf0
>>426
Hello World!
2017/06/09(金) 23:48:48.50ID:IBAe8Zr/r
まだ一冊も買っていませんが>>397,402両氏に感謝
坂井氏の記事は判りやすくて良いですね。別件でググっていたらITmedia系列で連載しているのを発見しまして
今読んでいるところですけど大変為になります
ttp://www.itmedia.co.jp/author/174171/
2017/06/10(土) 01:59:22.10ID:zs39aG6C0
QZ怒りの感謝芸
2017/06/10(土) 08:08:29.71ID:pb8IN1oh0
>>430
巣から出てくるな
2017/06/10(土) 19:50:14.54ID:SZlbpMsi0
なんか禁止文字があるようなので画像で質問します

http://i.imgur.com/ZotbBm5.jpg
2017/06/10(土) 20:03:35.22ID:WN3QcUIY0
>>432
同一IPアドレスで複数のホストを割り当てているのだろう
だから、IPアドレスで要求しても答えられないことになる

https://ja.wikipedia.org/wiki/%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%AB%E3%83%9B%E3%82%B9%E3%83%88
2017/06/10(土) 20:24:27.55ID:WN3QcUIY0
>>432
バーチャルホストへの対応は http 1.1からなので、リクエストヘッダーを作成し
その中にどのホストへの要求かをサーバーに伝える必要があります。
このページを参考にしてみて。

http://tomosoft.jp/design/?p=3636

サンプルソースはローカルネットワークでやっているので、
変数 httphost にはIPアドレスが指定していますが、
ここに求めるホスト名を指定すれば良いはずです。
2017/06/10(土) 20:26:42.82ID:ya4F889pd
ありがとうございます
ちょっと出てしまったので家に戻ったら
もらった情報を元に解決頑張ってみます
2017/06/10(土) 20:45:37.76ID:gQtHq0zi0
ありがとうございますwww
QZの自演感謝芸は本当にわかりやすい
2017/06/10(土) 23:40:32.38ID:IgPZpOJ50
誰が誰を煽ってるのかは分かりませんが
リクエストヘッダの記述をHTTP1.1にして
1.1の必須ヘッダのHostを設定して試してみたら
無事動作しました
ありがとうございました
2017/06/11(日) 01:17:53.70ID:3YYJxHfi0
おいQZ自演範囲拡大かよ気持ち悪い
2017/06/11(日) 09:55:13.67ID:IXRoGBtM0
>>438
巣から出てくるな
2017/06/11(日) 11:01:28.44ID:jDqQVEke0
C99の識別子について質問です。
構造体のメンバ命を「アンダーバー + 小文字アルファベット」で始まるものにするのは
仕様上、予約語と名前衝突しないことになっていますか?

「アンダーバー + 大文字アルファベット」で始まる識別子は予約されてるという記事がいくつかありましたが、小文字の場合に言及している情報は見つけられませんでした。
2017/06/11(日) 11:12:15.08ID:8e5gqfxU0
>グローバル スコープを持ち、_ で始まる名前
>_ で始まり、その次が大文字の名前
>__ で始まる名前
この3つだけなんで、アンダースコア+小文字かつメンバ名なら大丈夫
まぁ個人的には2連アンダースコアと先頭アンダースコアは避けるけど
2017/06/11(日) 11:58:31.34ID:jDqQVEke0
>>441
素早い回答有難うございます。
安心しました。

でも、ご指摘の通り使用は最小限にとどめたいと思います。
ありがとうございました
2017/06/11(日) 15:12:12.69ID:3YYJxHfi0
QZいかりの焦り
2017/06/12(月) 01:04:21.12ID:yvrc7Cbj0
QZはム板から消えろ
2017/06/12(月) 01:07:04.82ID:yvrc7Cbj0
でも、ご指摘の通り使用は最小限にとどめたいと思います。www
QZ落第のときのセリフがこれ
2017/06/12(月) 11:24:14.92ID:tv4YfZMV0
ワッチョイとD9zBでNGすりゃいいのか?
447デフォルトの名無しさん (ワッチョイ 85aa-vEzb)
垢版 |
2017/06/12(月) 11:46:58.72ID:gcWGi0lu0
QZをNGにすりゃいいんじゃない?
2017/06/12(月) 18:10:03.52ID:yvrc7Cbj0
QZ怒りのNG推奨
2017/06/12(月) 18:11:22.02ID:yvrc7Cbj0
おいQZ自演オナニーに飽き足らず
他スレで無知披露かよ
お前のような永久無職が議論できるような場所じゃないから
2017/06/12(月) 18:54:22.58ID:3CfNjtZc0
>>449
おいそれどこだよ?
451デフォルトの名無しさん (ワッチョイ e511-yTT2)
垢版 |
2017/06/12(月) 19:34:00.50ID:5L3xq22d0
%%%MC+7,8%%%

}

000-"M","LES","TUV=0.13325&/0\7&%&",

001-"23","1","0","2","7.14",[\b%7/1444*%812%2.3%7&6111\end\\]{%3%12%\br
2017/06/13(火) 17:20:53.30ID:kTA8yB7D0
よくいろいろなホームページにinlineは付けなくてもコンパイラーが最適化で自動で決めるので
付けなくていいと見かけるけれど、重要なのはinlineを書くかどうかじゃなくて
定義をヘッダーファイルにかいてinlineに出来るかソースファイルに書いて
出来ないようにするのかってことでしょ。
inlineが出来るようにするのか出来ないようにするのかの話を
inlineを書くか書かないかの話にすり替えている汚いやり方だと思いませんか?
2017/06/13(火) 18:10:46.25ID:TlpR08p20
>>452
翻訳単位という括りで見たらヘッダーファイルとかの区別は無意味だから
あなたの意見には同意しかねる
2017/06/13(火) 19:22:36.04ID:7vUqF+ijM
register 変数だって、本当にレジスタに割り当ててるか怪しいもんだ。
2017/06/13(火) 19:32:28.37ID:fqqPhx3LH
当たり前の話であって怪しくもなんともないんだが
456デフォルトの名無しさん (スププ Sd43-BT4T)
垢版 |
2017/06/13(火) 19:45:37.31ID:+kV5cJp9d
Cって関数オブジェクト的な動作ってできるっけ?
2017/06/13(火) 20:05:20.23ID:co8+PZUE0
第一級関数
https://ja.wikipedia.org/wiki/%E7%AC%AC%E4%B8%80%E7%B4%9A%E9%96%A2%E6%95%B0

>CやC++、Pascalなどのプログラミング言語は関数ポインタをサポートしており、データ構造に含めたり他の関数に引数として渡したりすることができる。
>しかし、それらの関数は一般にリフレクションなしではプログラムの実行時に動的に生成することができないため、第一級関数をサポートしているとは見なされていない。
2017/06/13(火) 20:37:39.64ID:siDT5/O8M
>>454
今時ヒントにもしてないだろ
459デフォルトの名無しさん (ワンミングク MMa3-vEzb)
垢版 |
2017/06/13(火) 22:14:31.00ID:fqqtkiftM
registerとか、メジャーなコンパイラで同じオプティマイザーを使用するC++では無くなっちゃったしな。
460デフォルトの名無しさん (スププ Sd43-BT4T)
垢版 |
2017/06/13(火) 22:26:08.47ID:+kV5cJp9d
>>457
ないってことか。ありがとうございます
2017/06/13(火) 23:50:32.05ID:Vyd7kh0w0
-O3つければ関係ナッシング
-O2でもいいかも
462デフォルトの名無しさん (ワッチョイ 9511-LnFi)
垢版 |
2017/06/14(水) 02:09:06.53ID:cctIdNvV0
http://i.imgur.com/b3A3YWl.jpg
この(お)がよく分からん
最初の段階でi=j=0だからswapさせても意味なくね?
だったら(お)でiとjずらすのか?
とも思ったが反応なし
教えてくれると嬉しい
2017/06/14(水) 02:17:07.73ID:cctIdNvV0
自己解決した
2017/06/14(水) 10:41:57.78ID:xDw396a4d
出力変換指定子について教えてください

printf("16進のffを10進に変換すると%dです\n", 0xff);

実行結果→16進のffを10進に変換すると15です

%dなどの出力変換指定子というのは、数値を文字列に変換して出力している、という理解でよろしいのでしょうか?
それとも数値を数値のまま、文字列の間に挟み込んで出力してくれている、という理解の方が合っていますでしょうか?
2017/06/14(水) 11:28:08.77ID:cB3KRwiX0
前者
2017/06/14(水) 11:36:10.60ID:H04nBmO80
http://linuxjm.osdn.jp/html/LDP_man-pages/man3/printf.3.html
%dは文字列に変換する
15じゃなく255になるかと
数値のままってのがよくわからんけど
printf( "%c", 0x41);
ならほとんどの処理系で大文字Aが表示される
%cでcharのビット数より上位のビットが
立っていた場合の挙動は知らん
2017/06/14(水) 11:37:07.78ID:H04nBmO80
失礼しますた
2017/06/14(水) 11:38:27.87ID:iafztWleH
>>464
前者。文字列にしないと文字として表示できない。
ちなみに15じゃないけどな
2017/06/14(水) 12:41:52.28ID:Xahf6/YZM
>>468
補足すると、0xffは引数にした場合 0xffffffff に拡張される
(32bit機の場合)
2017/06/14(水) 12:49:16.05ID:jUBU+j0AM
>>469
255 じゃなくて、4294967295 になるってこと?
変なの。
2017/06/14(水) 12:57:53.53ID:Xahf6/YZM
>>470
符合が付いているから255じゃない。で466のレスに繋がる(^_^)ノ
2017/06/14(水) 12:58:00.19ID:cB3KRwiX0
符号付で -1 とみなし、そこから符号を維持したまま拡張して引数に詰む
引数を引っ張り出して 符号付評価で値を文字化の結果 "-1 "
(char 型変数に 0xff を入れてて、それを printf に渡したケース)


ところでリテラルの 0xff が符号付か否かは何か規定あったっけ?
2017/06/14(水) 13:30:59.38ID:jUBU+j0AM
>>471
どこに符号が付いてるの?
(符合と符号は違うの?)
255 にしかならないけど。

>>472
char が符号付きかどうかは処理系依存なはず。
2017/06/14(水) 13:41:28.06ID:cB3KRwiX0
>>473
リテラル文字列中の文字が signed か unsigned か とは別だっけか?
あんまり出くわさないのでルーズになってるわ・・・
2017/06/14(水) 18:52:36.33ID:ROBFB8K40
0xffの型はintだよ
2017/06/14(水) 18:54:17.69ID:ROBFB8K40
int a = 255;
の時に、aが-1になったら不便でしょ?
2017/06/14(水) 18:56:15.18ID:ROBFB8K40
int a = (signed char)255;
の場合は-1になる
2017/06/14(水) 19:07:02.19ID:wXdIbuq80
比較演算子の左辺 右辺 でやらかしそうだ・・・
2017/06/14(水) 19:25:17.22ID:jUBU+j0AM
>>471
とりあえず >>469 を説明して!
2017/06/14(水) 19:56:00.75ID:7MR8m8vU0
>>464
本当に試したのか?
https://ideone.com/yMxt39

>>469
本当かね?int なんだけれども

>>472
リテラルは int なんじゃないかな?で int は別に符号拡張しない

>>479
>>469 は誤り
2017/06/14(水) 21:51:54.69ID:ROBFB8K40
リテラルが無条件でintなわけじゃない

intで表現出来る範囲はint
intを越えた場合には基本的には表現出来る最小の型になる
u, l, ul, ll, ullなどのサフィックスで明示的に変更も可能
サフィックスで作れない型はキャストして作る
2017/06/15(木) 03:30:56.19ID:foJhra+T0
数値リテラルはこの辺参照
www.bohyoh.com/CandCPP/FAQ/FAQ00074.html
あと、-100とかは数値リテラル100と単項-となることに注意
2017/06/15(木) 09:30:50.85ID:dX1k+/c2M
>>482
表が分かりにくすぎる。
2017/06/16(金) 13:48:41.24ID:6HI1EFfUd
>>465>>466>>467>>468>>480をはじめとした皆様
ご解答していただきありがとうございました(_ _)

お礼遅くなりすみませんでした
2017/06/16(金) 13:50:22.93ID:6HI1EFfUd
>>481
ulって書く人とluって書く人がいますがどちらが正しいのですか?
2017/06/16(金) 14:04:02.57ID:ZbWJ164Ea
どちらも正しいです
2017/06/16(金) 14:10:39.42ID:5SN0StmUd
>>486
ありがとうございます
2017/06/16(金) 16:33:55.37ID:lEbqssrF0
QZ潜伏スレッド
2017/06/16(金) 17:03:31.61ID:15uCJDWTM
switch(c)
case no:


これで、ケースnoに入った際に、もう一度switch文を繰り返す方法はありませんか?
goto文使わないと無理ですかね?
2017/06/16(金) 17:06:02.86ID:qjls6Rocd
>>489
do {
switch(c) {
case no: continue;
...
} while (0);
2017/06/16(金) 18:55:58.83ID:OzysmJdyM
>>490
ありがとうございます

case yes:
ほにゃらら
case no:
break;


yesの場合もbreakしたいのですが、noに流れさせてbreakするのと、yeaにbreakも書くのとどちらがいいんですかね?
2017/06/16(金) 19:13:28.04ID:exN5gWxV0
お好きなように

caseはbreakする事がほとんどなので、コードを読むときにbreakがあると勘違いしないように、ほにゃららの後とcase no:の後の両方にコメントを忘れずに
2017/06/16(金) 22:34:26.38ID:jRm/huKjd
変換仕様とデータ型との関係について質問させてください


int a;
scanf("%c", &a);
printf("%c\n", a );

考え方として、intと%cのどちらが優先されるでしょうか?
2017/06/16(金) 22:41:33.61ID:qjls6Rocd
>>493
> scanf("%c", &a);
これは入力された文字の文字コードをaに入れる。

> printf("%c\n", a );
これは、aが表す文字コードの文字を出力する。
2017/06/16(金) 23:09:12.38ID:exN5gWxV0
>>493
scanfの方は、&a を charへのポインタとして処理をする
結果は環境依存

printfも基本的には書式と引数が合っている必要があるが、intより小さい引数は全ていったんintに変換されてからコールされるので、この場合は問題なし
2017/06/16(金) 23:37:22.59ID:jRm/huKjd
>>494
>>495
すごい勉強になります
詳しい興味深く書いていただきありがとうございます
2017/06/17(土) 03:37:57.37ID:O3DVEcmT0
さっきからここQZ自演だらけだぞ
2017/06/17(土) 05:36:36.60ID:4Gyw35tF0
QZとは?
2017/06/17(土) 12:08:22.44ID:ir1eTLN60
>>498
http://peace.2ch.net/test/read.cgi/tech/1408962564/53
2017/06/17(土) 16:45:24.10ID:Znj/bctpd
>>497
私は自演とかはしてないです
スレの先輩方への感謝とともに申し添えます
2017/06/17(土) 19:52:46.57ID:O3DVEcmT0
QZ怒りの自画自賛ww
本当はマ気取りの無職無能のおっさん
誰にも相手されないから自演で賞賛してる
2017/06/17(土) 19:53:20.24ID:O3DVEcmT0
こういう自画自賛してるあたり
自演がバレバレ
2017/06/17(土) 20:07:29.95ID:mM98wL1Bd
ここに書き込む前にマニュアル見ろよ。
2017/06/17(土) 21:04:59.42ID:O3DVEcmT0
老害無職QZはきえろ
2017/06/20(火) 17:20:58.36ID:En99E4tcM
自作関数でファイルオープンする際に、ファイルが存在しなかったらその関数を強制終了したいのですが、どうすればいいんですか?
exit(0)を使うとプログラムごと強制終了されてしまいますよね?
2017/06/20(火) 17:24:57.70ID:En99E4tcM
exit(-1)でした
2017/06/20(火) 17:35:35.16ID:mOitPqgi0
自作関数の戻りの型を void にしてるならしかるべき場所で
return ;
て書くだけ
2017/06/20(火) 17:45:00.45ID:YsGmXvJhM
>>507
それでいいんですか?
void型の関数なんですが、エラーが発生した事を明示しなくていいんですかね?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況