C言語なら俺たちに聞け パート0001

0001デフォルトの名無しさん2012/07/07(土) 17:15:26.10
なんでも聞きなよ
0002デフォルトの名無しさん2012/07/07(土) 17:36:26.32
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
0003デフォルトの名無しさん2012/07/07(土) 17:58:41.21
localtime()をつかったとき、オブジェクトは、自動的に用意されてるのですか?
自動的に解放されますか?

「オブジェクトへのポインタを返す」
http://www.bohyoh.com/CandCPP/C/Library/localtime.html
0004デフォルトの名無しさん2012/07/07(土) 18:50:31.11
静的に確保された領域に格納されるので解放する必要はないです
0005デフォルトの名無しさん2012/07/07(土) 19:53:09.17
int a[0];
の意味を教えてください
000632012/07/07(土) 20:03:05.68
>>4
解放する必要はないということで安心しました。ありがとうございます!
0007デフォルトの名無しさん2012/07/07(土) 20:03:41.18
コンパイラが教えてくれます
0008デフォルトの名無しさん2012/07/07(土) 20:32:41.84
というかここはネタスレなのでまじめな質問は↓でやったほうが…

C言語なら俺に聞け(入門編)Part 103
http://toro.2ch.net/test/read.cgi/tech/1341059858/

>>5
http://stackoverflow.com/questions/295027/array-of-zero-length
000952012/07/07(土) 20:49:12.71
あ、思い出した
Darwinのソースの中にあったから気になった
0010デフォルトの名無しさん2012/07/08(日) 12:01:40.68
オルタネイティブスレ?
0011デフォルトの名無しさん2012/07/08(日) 21:21:27.95
質問です。
C言語ってなんですか?
0012デフォルトの名無しさん2012/07/08(日) 21:53:35.25
質問です
PL1てなんですか?
0013デフォルトの名無しさん2012/07/08(日) 23:26:34.53
>>11
Unixなどのシステムをかける言語です

The C Programming Language
プログラミング言語C
という本がある
0014デフォルトの名無しさん2012/07/09(月) 00:06:00.54
>>13
ありがとうございました。
勉強します。
0015デフォルトの名無しさん2012/07/09(月) 00:24:28.00
>>11
Linux、FreeBSDなどのカーネル、ドライバーが殆どCで書かれています。

エキスパートCプログラミングを読むといっぱしになった気分になれます。

初心者は、独習C、初めてのC言語などお勧めです。
0016デフォルトの名無しさん2012/07/09(月) 02:13:51.78
どうやったらゲームやアプリが作れるんですか?
0017デフォルトの名無しさん2012/07/09(月) 02:16:26.95
まず仕様を決める
0018デフォルトの名無しさん2012/07/09(月) 13:10:42.50
>>16
まず服を脱ぎます
0019デフォルトの名無しさん2012/07/09(月) 13:29:30.12
つぎに基本設計
画面、ロジック
0020デフォルトの名無しさん2012/07/09(月) 15:35:38.49
ぶひひ
0021デフォルトの名無しさん2012/07/09(月) 16:07:31.65
次は実装
以下テストを数工程
0022デフォルトの名無しさん2012/07/09(月) 22:56:19.14
ふっほっ
0023デフォルトの名無しさん2012/07/10(火) 14:42:21.51
ばあぶう
0024デフォルトの名無しさん2012/07/10(火) 14:53:35.03
ひまだ
質問まだ?
0025デフォルトの名無しさん2012/07/10(火) 19:14:27.31
どす窓が一瞬開いて閉じちゃて結果がわからないんだけど、どうすればいいんだろう?
VCだから?
0026デフォルトの名無しさん2012/07/10(火) 19:43:12.34
>>25
VCに限らずそういうもんやねん。リードキー的なものを最後に書いといたらええで。
0027デフォルトの名無しさん2012/07/10(火) 20:31:05.28
ありがとう
そうしてみる
0028デフォルトの名無しさん2012/07/10(火) 23:04:39.52
>>25
VC?Ctrl+F5で実行すれば窓閉じる前にPAUSEが挿入されるよ
0029デフォルトの名無しさん2012/07/11(水) 04:52:25.19
コマンドプロンプトで、コマンドを入力して、Enterをおします
0030デフォルトの名無しさん2012/07/14(土) 13:41:49.26
捕手
0031デフォルトの名無しさん2012/07/14(土) 14:43:34.94
民主党「韓国で反日が盛り上がっていてヤバイ… そうだ! 秋田のシェールガスを日韓で開発しよう!」
http://engawa.2ch.net/test/read.cgi/poverty/1342227537/



仙谷氏、韓国の“対日感情”高まりに懸念

 民主党・仙谷政調会長代行は13日、「未来志向の日韓戦略協力」をテーマにした財団法人世界平和研究所の
シンポジウムで基調講演を行い、12月の韓国の大統領選挙を前に、対日ナショナリズムが韓国国内で高まるこ
とに懸念を示した。

 仙谷氏「相当な鋭い言論によって、どうしても選挙を控えた、あるいは選挙があろうとなかろうと、政治の世界
がそこを無視できなくなる。政治家の仕事は、その種の過剰なナショナリズムに対して、どこまで踏ん張れるかと
いうのが最大の問題、最大の課題だと考えています」

 その上で、仙谷氏は「日韓相互がウィン・ウィンの関係を作るべきだ」として、ロシアの天然ガスやアメリカの
シェールガス開発などを日韓共同事業体で行うことを提案した。

 また、知的財産権の問題などで「日韓がある種の価値観を共有し、国際社会の中でリードするルール作りに積極
的に参加することが重要だ」として、日韓の連携強化の必要性を強調した。

http://www.news24.jp/articles/2012/07/14/04209493.html

0032デフォルトの名無しさん2012/07/14(土) 14:46:07.21
ネトウヨ王に、俺はなる!まで読んだ。
0033デフォルトの名無しさん2012/07/14(土) 14:52:31.69
私は秋田のシェールガールズです、とおもた
0034デフォルトの名無しさん2012/07/16(月) 13:20:33.85
ウィンドウズパワーシェルで○○.cをコンパイルする方法を誰か教えて
0035デフォルトの名無しさん2012/07/16(月) 14:28:54.29
できません
0036Yoshipon_256 ◆Q/KtU74qw. 2012/07/16(月) 17:18:35.38?2BP(112)
>>34
GCCかVisual C++ Express使えばいいです(”^-^)
0037デフォルトの名無しさん2012/07/17(火) 06:18:09.03
ぶひひ
0038デフォルトの名無しさん2012/07/17(火) 08:01:17.98
前スレ

C言語なら俺に聞け(入門編)Part 103
http://toro.2ch.net/test/read.cgi/tech/1341059858/

で再利用してもいいのかここ
0039デフォルトの名無しさん2012/07/17(火) 08:34:14.27
C言語なら俺に聞け(入門編)Part 104
http://toro.2ch.net/test/read.cgi/tech/1342315713/
0040デフォルトの名無しさん2012/07/17(火) 21:31:50.36
f(){
 char a[8]="HOGE";
 puts(a);
}

↑これができるなら
↓これもできて然るべきなんじゃねえの?

f(){
 char a[8];
 a="HOGE";
 puts(a);
}

まあ表記としては
 a={"HOGE"};
のようにでもするべきだが。
これは前者でも
 char a[8]={"HOGE"};
こうあるべきだけどな。
0041 忍法帖【Lv=2,xxxP】 2012/07/18(水) 01:37:51.76
全くの初心者なんだけど、何から勉強すればいい?
0042デフォルトの名無しさん2012/07/18(水) 02:26:00.91
わかりません
0043デフォルトの名無しさん2012/07/18(水) 02:28:02.24
英語
0044デフォルトの名無しさん2012/07/18(水) 04:43:08.91
>>41
人生
0045デフォルトの名無しさん2012/07/18(水) 07:06:09.92
マジレスするとアセンブラ
Z80辺りやるといい
0046デフォルトの名無しさん2012/07/18(水) 07:36:01.30
/* >>40 */
#include <stdio.h>
#include <string.h>

f(){
  char a[8] = "HOGE";
  puts(a);
}

func(){
  char a[8];
  strcpy(a, "HOGE");
  puts(a);
}

function() {
  char a[8] = {"HOGE"};
  puts(a);
}

int main(void)
{
  f();
  func();
  function();
  return 0;
}
0047デフォルトの名無しさん2012/07/18(水) 08:05:01.17
【大赤字】 韓国万博にK-POPスターを呼んでも客が来ないため、チケット69円で投売り開始
http://engawa.2ch.net/test/read.cgi/poverty/1342528699/


麗水エキスポ:1000ウォンの深夜入場券発行へ

麗水エキスポの入場者数が目標を大幅に下回っていることを受け、
韓国政府は1000ウォン(約69円)の深夜入場券を発行することを決めた。
http://www.chosunonline.com/site/data/html_dir/2012/07/17/2012071701101.html
0048デフォルトの名無しさん2012/07/18(水) 09:08:31.90
#define NON_OVERFLOW_SIZE 256
#include <stdio.h>
#include <string.h>

typedef struct STRING STRING;
struct STRING {
  char c[NON_OVERFLOW_SIZE];
  int length;
};

void set_string(STRING *s, const char *p)
{
  strcpy(s->c, p);
  s->length = strlen(p);
}

int main(void)
{
  STRING a, HOGE;
  set_string(&HOGE, "HOGE");

  a = HOGE;
  puts(a.c);
  printf("%d\n", a.length);
  return 0;
}
0049デフォルトの名無しさん2012/07/18(水) 11:36:31.73
>>46
f(){
char a[8] = "HOGE";
puts(a);
}
これが静的変数じゃない場合は結局は代入するルーチンが入るんだから、
初期化じゃなくても同じようにできたっていいだろって意味なんだが。
0050デフォルトの名無しさん2012/07/18(水) 11:58:20.68
>>49
char foo[] = "abcd";
ってのは
char foo[] = {'a', 'b', 'c', 'd'};
の糖衣構文だ。この構文を見て判るように、構造体の初期化と同じである。

構造体メンバの直接代入ができないんだから、配列でできなくてもいいだろ。
0051デフォルトの名無しさん2012/07/18(水) 12:12:24.78
構造体は代入できるだろ。
struct T a, b;
b=a;

0052デフォルトの名無しさん2012/07/18(水) 12:15:36.64
静的と動的の初期化は意味がまったく違うんだから、
動的の文字列が初期化できるなら
同じ方法でコピーできたっていいだろ。
初期化の時に展開されるルーチンを同じように使えばいいだけじゃん。
0053デフォルトの名無しさん2012/07/18(水) 12:37:43.46
既に決まっている言語の仕様についてガタガタ抜かすスレにようこそ
0054デフォルトの名無しさん2012/07/18(水) 12:39:02.37
C99でできるようになったんだっけ?
0055デフォルトの名無しさん2012/07/18(水) 14:13:18.10
おまえら CR と LF ならどっちが好き?
0056502012/07/18(水) 14:23:13.42
>>51
私の言っているのは、構造体全体の代入ではなく、メンバの直接代入だ。
つまり、これができないと言っている。
struct foo {
int a, b;
} bar;
bar = {3, 4};
0057片山博文MZボット ◆0lBZNi.Q7evd 2012/07/18(水) 18:51:10.30
>>50
char foo[]={'a','b','c','d',0}の誤り。
0058khklh2012/07/18(水) 18:59:05.56

二分探索木を利用するプログラム
探索、要素追加、要素削除

#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define NODE_NUM 10
#define RAND_SEED 0x1031000
必要な関数・構造体の定義をここに書く
int main(void){
struct BST_Node *T_root;
int i;
T_root=(struct BST_Node*)malloc(sizeof(struct BST_Node));
T_root->left=T_root->right=NULL; T_root->value=0;
srand(RAND_SEED);
for(i=0;i<NODE_NUM; i++){
insert_v(T_root,rand()/(double)RAND_MAX*NODE_NUM*10);
}

木の高さや木の形をここで表示

}
プログラムを書いてくださいますようお願い申し上げます
0059片山博文MZボット ◆0lBZNi.Q7evd 2012/07/18(水) 21:30:34.63
>>58 struct BST_Node { struct BST_Node *left,*right; double value; };
struct BST_Node *new_node(double value) {
struct BST_Node *node= (struct BST_Node *)malloc(sizeof(struct BST_Node));
node->left=node->right=NULL;
node->value=value;
return node;
}
void insert_v(struct BST_Node*root,double value){
if(value<root->value){
if(root->left)insert_v(root->left,value);
else root->left=new_node(value);
}
else if(root->value<value){
if(root->right)insert_v(root->right,value);
else root->right=new_node(value);
}
}
void print_node(struct BST_Node*node,int level){
int i;
for(i=0;i<level;i++)printf(" ");
printf("%g\n",node->value);
if(node->left) print_node(node->left,level+1);
if(node->right) print_node(node->left,level+1);
}
0060片山博文MZボット ◆0lBZNi.Q7evd 2012/07/18(水) 21:32:39.25
print_node(T_root,0);
0061デフォルトの名無しさん2012/07/18(水) 22:07:15.72
LFはニッポン放送
CRは
0062デフォルトの名無しさん2012/07/19(木) 00:31:10.67
ふっひっ
0063デフォルトの名無しさん2012/07/19(木) 09:23:33.16
韓国産のヒラメで食中毒 調べてみたら寄生虫がうようよみつかる
http://engawa.2ch.net/test/read.cgi/poverty/1342639945/


県内初 ヒラメ由来の食中毒

今月14日、新庄市内の飲食店でヒラメの刺身を食べた5人が下痢や吐き気などの食中毒の症状を訴え、原因は、
ヒラメに特有の寄生虫とわかりました。
この寄生虫が原因の食中毒が確認されるのは県内で初めてです。
県によりますと、今月14日午後、新庄市内の飲食店で、韓国産の養殖ヒラメの刺身を食べた5人がその日の夜に
かけて次々に下痢や吐き気などの症状を訴えて病院に運ばれ、1人が入院しました。
県によりますと全員快方に向かっていて入院した1人もすでに退院しているということです。
県が飲食店に保管されていた残りのヒラメを回収して調べたところ、「クドア・セプテンプンクタータ」という寄
生虫が見つかり、食中毒が原因と断定しました。
この寄生虫は、おもにヒラメの刺身に寄生し、全国的に食中毒が相次いだことをうけ厚生労働省は去年6月、都道
府県などに注意を呼びかけていましたが、県内で確認されたのは今回が初めてです。
県によりますと、国内で養殖されるヒラメは出荷前に寄生虫がいないか検査が行われているということです。

http://www.nhk.or.jp/lnews/yamagata/6023681251.html
0064デフォルトの名無しさん2012/07/19(木) 21:13:51.07
ネトウヨきもっ、まで読んだ。
0065デフォルトの名無しさん2012/07/23(月) 07:35:49.02
C言語の質問ならこちらへどうぞ
0066デフォルトの名無しさん2012/07/24(火) 09:05:11.94
質問来ないけど過疎なのかなあ
0067デフォルトの名無しさん2012/07/24(火) 09:18:42.91
C言語はオワコン
0068デフォルトの名無しさん2012/07/24(火) 10:20:45.59
学習用言語だろ。
0069デフォルトの名無しさん2012/07/24(火) 11:57:56.32
ポインタの配列の型を関数の引数にかくとき、サイズも必要ですか? typedefのとき、どうですか
char *p[POINTER_ARRAY_SIZE]
0070デフォルトの名無しさん2012/07/24(火) 12:47:08.40
ここってネタスレでしょw

>>69
やりたいことを思った通りに書いてみて、エラーがでるかどうか。
エラーがでなかったとしたら、思い通りに処理できるかどうか検証するコードを書く。
検証するコード自体もエラーが出ないようなら、実行して結果を検証する。
思い通りの結果が得られないようなら遣り直し。
0071デフォルトの名無しさん2012/07/24(火) 16:50:43.44
川渡りパズル

クマの親子、トラの親子、ワニの親子の計6匹が、2匹乗りボートで対岸に渡ろうとしています。
ただし、子どもは自分の親がそばについていないときに、他の親と一緒にいると食べられてしまいます。
(普段は、とっても仲良しなのですが...)
みんな、泳げませんが、1匹でもボートに乗って渡ることはできます。
どのような順番で渡れば良いでしょうか?


課題:このパズルを縦型探索で解くプログラムを作成してください。
   実行結果としてOpenListの変化の様子と得られた解を表示させてください。


これC言語で解いてくれませんか?
0072デフォルトの名無しさん2012/07/24(火) 18:55:49.68
自分でどこまで試したか見せろ
0073カナカナゼミ2012/07/24(火) 19:37:17.06
cmdにgccと打つと、{gcc: 致命的エラー:入力ファイルがありません
 RpC~オワオスB}とでるんだけど、だれか助けて(泣)
0074デフォルトの名無しさん2012/07/24(火) 19:44:00.66
オワオスが分からんが、ファイル名を指定する必要ガール
0075カナカナゼミ2012/07/24(火) 19:46:22.19
ふぁいるめい?(私は何故か今日c言語始めようと思ったど素人なので)



当たり前のことまで聞いてすみません。
0076デフォルトの名無しさん2012/07/24(火) 19:48:19.79

for (i=0;i<num1;i++){
array_value = *(b+?);
sum1 = sum1 +array_value;
printf("current sum = %8.3lf\n",sum1);


どういう意味?
0077デフォルトの名無しさん2012/07/24(火) 19:48:49.83
ソースコードを書いてファイルに保存したか?
0078デフォルトの名無しさん2012/07/24(火) 19:50:57.73
変数の定義がない、括弧が閉じてないなどいろいろおかしい
0079デフォルトの名無しさん2012/07/24(火) 19:57:04.90
#include "stdafx.h"
double mean1(int num1,double *b){
int i;
double array_value;
double sum1=0.0;
double avg0=0.0;

for (i=0;i<num1;i++){
array_value = *(b+?);
sum1 = sum1 +array_value;
printf("current sum = %8.3lf\n",sum1);
}
printf("sum = %8.3lf\n",sum1);
avg0=sum1/(double)num1;
printf("average = %8.3lf\n",avg0);
return avg0;
}
int _tmain(int argc, _TCHAR* argv[])
{
int num0=5;
double a[5] ={-1.0,3.5,2.1,1.2,-2.3};
double avg1 = 0.0;
avg1 = mean1(num0,&a[0]);
printf("mean of a is %8.3lf",avg0);
printf("\n");
char c1;
printf("hit enter key to quit\n");
scanf("%c",&c1);
return 0;
元はこれ
0080デフォルトの名無しさん2012/07/24(火) 20:00:55.86
後出しするやつはクズ

終了
0081カナカナゼミ2012/07/24(火) 20:04:35.34
/* myc.c */
#include<stdio.h>

int main(void){
printf("My C programming\n");
return 0;
}

を myc.c て書いて保存した。
次に、cmd起動、cd c:\myc と打った。
そのあと、gcc myc.c -o myc とやったがエラーがでる。
(こういうことですか?)
0082デフォルトの名無しさん2012/07/24(火) 20:08:32.97
dirの結果を貼るとか
0083カナカナゼミ2012/07/24(火) 20:14:47.70
ドライブ C のボリューム ラベルは Windows Vista です
ボリューム シリアル番号は XXXX-XXXX です

c:\myc のディレクトリ

012/07/24 18:35 <DIR> .
012/07/24 18:35 <DIR> ..
0 個のファイル 0 バイト
2 個のディレクトリ 18,851,442,688 バイトの空き領域
0084デフォルトの名無しさん2012/07/24(火) 20:15:51.80
#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
int a[3][4] = {{8,2,12,4},{11,5,1,10},{7,6,9,3}};
int row1 = 3,column1 = 4,b,i1,j1;
i1 = 0; j1 = 0; b = a[i1][j1];

if (b>a[0][0]) {b = a[0][0];i1 = 0;j1 = 0;}
if (b>a[0][1]) {b = a[0][1];i1 = 0;j1 = 1;}
if (b>a[0][2]) {b = a[0][2];i1 = 0;j1 = 2;}
if (b>a[0][3]) {b = a[0][3];i1 = 0;j1 = 3;}

if (b>a[1][0]) {b = a[1][0];i1 = 1;j1 = 0;}
if (b>a[1][1]) {b = a[1][1];i1 = 1;j1 = 1;}
if (b>a[1][2]) {b = a[1][2];i1 = 1;j1 = 2;}
if (b>a[1][3]) {b = a[1][3];i1 = 1;j1 = 3;}

if (b>a[2][0]) {b = a[2][0];i1 = 2;j1 = 0;}
if (b>a[2][1]) {b = a[2][1];i1 = 2;j1 = 1;}
if (b>a[2][2]) {b = a[2][2];i1 = 2;j1 = 2;}
if (b>a[2][3]) {b = a[2][3];i1 = 2;j1 = 3;}
printf("??? value of matrix a is a[%d][%d] = %d\n",i1+1,j1+1,b);
char c1;printf("hit enter key to quit\n"); scanf("%c",&c1);
return 0;
}

if文でなにを行ってるの?
0085デフォルトの名無しさん2012/07/24(火) 20:16:25.39
myc.cがないじゃない
0086カナカナゼミ2012/07/24(火) 20:17:24.31
どうすれば(汗)
0087デフォルトの名無しさん2012/07/24(火) 20:19:30.71
比較と代入ー
0088デフォルトの名無しさん2012/07/24(火) 20:20:18.20
>>86
ファイル操作もできないなどゴミ以下
0089カナカナゼミ2012/07/24(火) 20:23:35.76
ゴミでもいいおしえてくれ。
0090デフォルトの名無しさん2012/07/24(火) 20:32:25.06
gcc: 致命的エラー:入力ファイルがありません
 RpC~オワオスB
0091カナカナゼミ2012/07/24(火) 20:38:09.74
それそれ!どうすんだろうか。
0092デフォルトの名無しさん2012/07/24(火) 20:41:06.07
入力ファイルがないんだろクズ野郎
0093デフォルトの名無しさん2012/07/25(水) 01:28:38.38
オワオス
0094デフォルトの名無しさん2012/07/25(水) 11:19:03.50
ぷぅ〜
0095 ◆tsGpSwX8mo 2012/07/25(水) 12:33:22.71
>>83
1.cmd を起動する。
2.dir "My Documents" で確認する。
3.myc.cが有れば結果を2chに貼り付ける。
4.cd c:\myc
5.gcc myc.c
0096デフォルトの名無しさん2012/07/25(水) 20:20:43.96
むかしの日本人技術者は優秀だった。もちろんABCは、日本国内で学習できた。
アメリカに研修にいったひとたちは、ABCではなくPQRぐらいから質問するほど
レベルがたかかったそうだ。
いまはどうかしらないけど…
中国人技術者は、ABCから質問したそうだ。かんがえられないことだ。
アメリカ人技術者もABCから質問するひとがいて、質問というか議論好きな人もいるということらしい。
日本人は、そういうのがなんかめんどくさく感じる(「あの連中、いらんことまで質問するなぁ」)
0097デフォルトの名無しさん2012/07/26(木) 09:08:14.74
0098デフォルトの名無しさん2012/07/26(木) 20:41:45.93
ネトウヨきもっ、まで読んだ。
0099デフォルトの名無しさん2012/07/27(金) 02:11:25.21
へえ
0100デフォルトの名無しさん2012/07/27(金) 17:12:27.17
>>96
ABCから聞くのも良いだろ別に。

ヤバイのはABCを議論で決める風潮が今ある事www
定石があるのに、議論するんだぜ、やってらんねーよ。
0101デフォルトの名無しさん2012/07/27(金) 17:17:26.95
夏休み♪
0102デフォルトの名無しさん2012/07/27(金) 17:21:50.75
引き渡された配列aをポインタbで受けて順に加算した結果を
sum1に入れて順次表示している。
最後に全ての合計がsum1に入っているので
配列のサイズ(数)で除して配列aの平均値を求めavg0に入れて
戻り値として返している。


誰かもっとわかりやすく説明して
0103デフォルトの名無しさん2012/07/27(金) 17:30:21.84
Type func(Type const a[], unsigned size)
{
Type sum1 = 0;
for (unsigned ic = 0; ic < size; ++ic) sum1 += a[ic];
return sum1 / size;
}
// あれ、bとavg0はどこだw
0104デフォルトの名無しさん2012/07/31(火) 12:41:12.65
夏休み!夏休み!
0105◇AIRRIDEtx.2012/07/31(火) 12:42:42.38
俺はActionScriptできるからどんな言語でもできるよ?
なんか質問ある?
0106デフォルトの名無しさん2012/07/31(火) 19:51:54.94
>>105
Prologできるよな?
0107デフォルトの名無しさん2012/08/03(金) 22:45:42.24
なんでこっちには質問来ないんだろう・・・
0108デフォルトの名無しさん2012/08/03(金) 23:20:13.58
スレ削除依頼出して来いよ
0109デフォルトの名無しさん2012/08/03(金) 23:27:11.32
資格全般板にも立っててフイタ
0110デフォルトの名無しさん2012/08/13(月) 08:41:33.31
夏休みだというのに人居ないね
0111デフォルトの名無しさん2012/08/13(月) 11:11:54.95
夏休みだからいないんじゃね
帰省しちゃってさ
0112デフォルトの名無しさん2012/08/14(火) 08:41:53.81
10代20代テレビ離れ 30%減少 インターネットの方が面白い 総務省
http://engawa.2ch.net/test/read.cgi/poverty/1344886835/


Twitter Facebook YouTube mixi ニコニコ動画

総務省が発表した「情報通信白書」には、
世代別の「テレビを見る」時間を過去と比較したデータがある。
若い世代のテレビ離れは一目瞭然。
10代では、2005年に1日平均106分だった視聴時間が、2010年には70分と、
わずか5年で3割以上も減少している。
同様に20代では、2005年に104分だったのが2010年には76分に激減。

10代 106分 → 70分
20代 104分 → 76分

http://zasshi.news.yahoo.co.jp/article?a=20111104-00000005-pseven-pol

テレビよりインターネット

メディア環境研究所は2010年6月23日、毎年2月に実施している
「メディア定点調査」の最新版「メディア定点調査・2010」の抜粋編を発表した。
「20代男性はテレビ以上にパソコンでネットに接続している」
「男性は10代から30代でテレビよりも、パソコンと携帯電話を合わせた
インターネットへの接続時間が長い」

グラフ
http://www.garbagenews.com/img10/gn-20100624-17l.gif
http://www.garbagenews.net/archives/1443170.html
0113デフォルトの名無しさん2012/08/14(火) 12:37:52.46
コピペ君って馬鹿だな、まで読んだ。
01143642012/08/14(火) 22:45:44.80
char型の配列に文字を入れて、それを別の関数に渡して全文字を出して
欲しいんですけど、下記コードのようにちゃんとFまで出てくれません。
確保数と実際に入っている文字数が異なる場合、入ってる文字数分だけ
配列を回す処理をvoid print_char(char *)でやりたいんですが、どうすれば
よろしいでしょうか?

おそらくものすごく基本的なことだと思うのですが、ご教授いただけますと
幸いにござります。

http://ideone.com/P7Ris

0115デフォルトの名無しさん2012/08/14(火) 22:46:40.77
すみません、間違って本スレでない方に書き込んでしまったので、>>114
撤回いたします。
0116デフォルトの名無しさん2012/08/15(水) 07:33:01.51
>>114
僕わからないよ
0117デフォルトの名無しさん2012/08/16(木) 09:16:29.68
8月15日に攻撃対象へ指定されていた、日本のコミュニティサイト 「 2ch 」 は現在スムーズに稼動している。

インターネットカフェ ネトテロデウンヨンハプ は14日、光復節当日(8/15)、日本のコミュニティサイト 「 2ch 」 を対象とした
集団サイバー攻撃の計画を立てた。 計画が出ると、このカフェでは、(2ちゃんねるへの)攻撃に参加するというネチズンたちが列をなした。

しかし、このカフェは、15日早朝、突然の計画を取り消した。
カフェは、 『攻撃予定日は9月ですが、光復節(8/15)に日本サイトの攻撃はない』と公示した。

詳細 2012/8/15 ソース韓国語 inews24
http://news.inews24.com/php/news_view.php?g_serial=682052&g_menu=020310
0118デフォルトの名無しさん2012/08/16(木) 12:20:46.15
ネトウヨ王に、俺はなる!まで読んだ。
0119デフォルトの名無しさん2012/08/17(金) 13:45:53.32
《明博の本当の台詞》ハングル分かる奴の直訳

『日王は韓国民に心から土下座したいのなら来い
 重罪人に相応しく手足を縛って頭を踏んで地面に擦り付けて謝らせてやる
 重罪人が土下座もしない、言葉で謝るだけならふざけた話しだ
 そんな馬鹿な話は通用しない、それなら入国は許さない』
0120デフォルトの名無しさん2012/08/17(金) 14:10:09.03
ネタスレには違いないが
本スレの隔離乱発をリセットしたい点には同意だな
0121デフォルトの名無しさん2012/09/03(月) 06:02:17.04
そうだね
0122デフォルトの名無しさん2012/09/05(水) 20:50:07.89
コンパイラなにつかってます?
0123デフォルトの名無しさん2012/09/05(水) 20:52:36.59
gcc
0124デフォルトの名無しさん2012/09/05(水) 21:18:04.27
ぷよぷよ7
0125デフォルトの名無しさん2012/09/05(水) 23:24:29.49
秘密
0126デフォルトの名無しさん2012/09/06(木) 10:50:49.87
wcl386 hello.c
0127デフォルトの名無しさん2012/09/07(金) 15:14:27.04
C言語の本、5冊読んでなんとなくわかってきたんですけど
次何すればい?
0128デフォルトの名無しさん2012/09/07(金) 15:58:01.41
↓神の誕生
0129デフォルトの名無しさん2012/09/07(金) 21:31:24.69
日本語の勉強
0130デフォルトの名無しさん2012/09/10(月) 15:41:39.10
#include <stdio.h>

int main(void)
{
int i,price;

scanf("%d",&price);

for (i = 1;i <= 9;i++) {
printf("%d Price Down = %d\n",i,(price * (10.0 - i) / 10));
}

return 0;
}

1割から9割までの表示するプログラムですけど
実数にのするにはどうすればいいでうsか?
0131デフォルトの名無しさん2012/09/10(月) 19:19:15.13
ぼくわかんなーい
0132デフォルトの名無しさん2012/09/10(月) 19:58:44.94
浮動小数点数
0133デフォルトの名無しさん2012/09/10(月) 22:38:43.87
>>130
二番目の%dを%gに。
0134デフォルトの名無しさん2012/09/10(月) 22:40:45.39
%p
0135デフォルトの名無しさん2012/09/11(火) 10:48:55.09
int main(void)
if (suuti == 10)
printf("入力値は10です。\n");
else
printf("入力値は10ではありません。\n");


int main(void)
{
if (suuti == 10) {
printf("入力値は10です。\n");
} else {
printf("入力値は10ではありません。\n");
}
}
{}をつけるのと付けないのは何が違うんですか?
0136デフォルトの名無しさん2012/09/11(火) 11:18:45.10
void main(void)
{

int d,p[2],stay;
char buf[20];

pipe(p);

if((d=fork())==0){close(p[1]);}

}

これどういうプログラムですか?
forkとpipeっていう関数見た事なくて.....
0137デフォルトの名無しさん2012/09/11(火) 16:59:59.44
フォークのように2つのプロセスに分裂する。 ─⊂
親プロセスと子プロセス。

両端に読み取りと書き込みの口があるパイプを作る。 ─

フォークより前に作ったパイプは親プロセスと子プロセスで共有される。
2つのプロセスはパイプを通してデータをやり取りできる。プロセス間通信。

これくらい書いておけば自分でググれるだろ?
0138デフォルトの名無しさん2012/09/11(火) 17:01:17.67
>>135
分からないような初心者なら付けておけ
0139デフォルトの名無しさん2012/09/15(土) 02:55:52.48
文の終わりにはセミコロンを付けるって規則なのに、なんでwhile文などの{ }の後には付かないの?
といいながらもdowhile文の最後には付く。なんて一貫性のない言語なんだろう。
0140デフォルトの名無しさん2012/09/15(土) 03:50:54.34
文とブロックの区別がつかないお子様なら、{ }の後にもセミコロン付ければいいじゃん
0141デフォルトの名無しさん2012/09/15(土) 16:36:20.42
セミコロンを文の先頭に付けてもいいし
セミコロンばかりずらっと並べてもいい
01421392012/09/16(日) 00:17:05.62
ブロックだって文だろ。
0143デフォルトの名無しさん2012/09/16(日) 02:43:47.06
スレチかも知れんが、C言語検定の2級の問題見たけんだけど、
これ本当にプロが作ってるのか?
例えばさ
(4)C言語では,変数名がABC とabc のように大文字と小文字の違いだけなら,同じ
 変数として識別される。
って問題があるけど、こんな問題出して意味あるのか?
普通にプログラミングしてたら、まずこんなふうに被る変数名なんて絶対に付けないだろ。
他にもこんな感じの問題がいっぱいあるんだけど、過剰反応してる俺がおかしいのか?
0144デフォルトの名無しさん2012/09/16(日) 06:22:36.94
え?
0145デフォルトの名無しさん2012/09/16(日) 07:45:17.68
お前が書くような小規模なゴミプログラムだとそうかもしれないが
0146デフォルトの名無しさん2012/09/19(水) 12:42:00.44
>>143
プログラミングの作法は置いといて、
言語そのものにどれだけ精通してるかの試験なんだろ。
C言語検定なんだから。
0147デフォルトの名無しさん2012/09/23(日) 19:42:52.26
Javaの試験で「正しいmain()はどれ」って問題があったの思い出した
引数名が正しいのは型がおかしくて、型が合ってるのは引数名が違うんだが
当然ながら型が合ってるほうが正解という問題だった
0148デフォルトの名無しさん2012/09/23(日) 21:30:48.25
問題として正しいのは、作法とかじゃなくて仕様。
0149デフォルトの名無しさん2012/09/30(日) 16:20:40.53
ふーん
0150デフォルトの名無しさん2012/10/10(水) 11:18:53.67
#include <stdio.h>

int main(void)
{
int age;
printf("年齢:");
scanf("%d",&age);
if (age <= 3) {
printf("幼児:無料\n");
} else if (age <= 12) {
printf("子供:250円\n");
} else {
printf("大人:400円\n");
}
return 0;
}
else if 文がよくわかりません・・・
どうして if をつけるんですか?
0151デフォルトの名無しさん2012/10/10(水) 11:34:31.34
本来else ifという構文はない。
if (condA) {
  procA;
} else {
  if (condB) {
    procB;
  } else {
  procMisc;
}
と書くところを便宜上、
if (condA) {
  procA;
} else if (condB) {
  procB;
} else {
  procMisc;
}
と書いているに過ぎない。
0152デフォルトの名無しさん2012/10/10(水) 18:29:45.17
>>151
括弧の個数が違う
0153デフォルトの名無しさん2012/10/10(水) 19:12:47.46
>>152
elseの後に続く文がひとつである場合、{ } は省略することが出来る。
0154デフォルトの名無しさん2012/10/10(水) 19:19:45.49
>>151
開き括弧が4
閉じ括弧が3
0155デフォルトの名無しさん2012/10/10(水) 21:09:30.94
>>151
前段のprocMisc;の後に閉じ括弧。
0156デフォルトの名無しさん2012/10/10(水) 22:33:51.19
インデントしろよ
0157デフォルトの名無しさん2012/10/16(火) 11:14:09.67
第23回高専プログラミングコンテストで宇部高専が優勝。勝因は「人力で数えた」と判明し話題に
http://engawa.2ch.net/test/read.cgi/poverty/1350194313/

これサイコロの判定ってどうやればいいの?
答え知ってる人いない?
0158デフォルトの名無しさん2012/10/16(火) 21:19:02.08
> 第23回高専プログラミングコンテストで宇部高専が優勝。勝因は「人力で数えた」と判明し話題に

> 競技概要
http://www.procon.gr.jp/uploads/procon23/Apply23.pdf

> 上位陣がすべてクリックでサイコロの数が入力出来るカウンタを作った模様
> 人力が優勝するのは2年ぶり2回目

> 1位「人力で数えた」
> 2位「判定できなくて経験で入力した」
> 3位「1位と同じです」
> 4位「1位と同じです」
> 5位「会場でプログラムキツイわ」
> 6位「1位と(ry」

> 2010 運営「手動で優勝とは、なんと情けない!厳しくしよう!!」
> ↓
> 2012 学生「難しすぎwww 手動するしか無いだろww」 → 決勝がほぼ全員手動 → 運営「\(^o^)/」 
0159デフォルトの名無しさん2012/10/16(火) 21:24:04.97
スレが落ちてたのでgoogleのキャッシュでざっと読んだけど
主催側は何を期待したんだろうな
この距離だと画像解析もきついだろう
https://twitter.com/KosenProcon/status/257336534808793088/photo/1/large 
0160デフォルトの名無しさん2012/10/16(火) 21:24:59.53
0161デフォルトの名無しさん2012/10/17(水) 03:07:05.56
鏡をおくとかイジメ以外のなにものでもない
運営側/出題者は自分ができるものを出してくれ
0162デフォルトの名無しさん2012/10/23(火) 19:29:40.88
え?
0163デフォルトの名無しさん2012/10/23(火) 22:07:51.96
背中がかゆいよ〜
0164デフォルトの名無しさん2012/10/23(火) 22:37:07.60
ここ?
0165デフォルトの名無しさん2012/10/23(火) 22:38:02.32
もちろんここだよ
0166デフォルトの名無しさん2012/10/27(土) 16:28:53.57
質問来ないけどどうなってるんだろう
0167デフォルトの名無しさん2012/10/27(土) 23:18:10.77
洋ナシ
0168デフォルトの名無しさん2012/10/27(土) 23:41:21.91
atexit()は、main()の最初にかくべきでしょうか
それとも、プログラムのどこでかいても有効ですか
0169片山博文MZボット ◆0lBZNi.Q7evd 2012/10/28(日) 00:07:21.37
>>168 どこでもいい
0170デフォルトの名無しさん2012/10/28(日) 00:27:52.32
atexitする前に後処理残してexitしちゃうおバカさんでなければ
0171デフォルトの名無しさん2012/10/28(日) 04:07:37.28
atexitを取り消す(pop?)方法はありませんか?
0172片山博文MZボット ◆0lBZNi.Q7evd 2012/10/28(日) 04:31:00.05
>>171 フラグ変数を使え
0173デフォルトの名無しさん2012/12/23(日) 13:38:36.42
プログラム覚えれば、映画みたいにブラインドタッチできますか?
0174デフォルトの名無しさん2012/12/23(日) 18:20:36.48
できない奴はなにやったってできない
0175デフォルトの名無しさん2012/12/24(月) 01:36:35.55
>>173
ゲイツがブラインドタッチできないのは有名な話。
普通はタイピングに慣れてくると自然に楽な姿勢になってホームポジションが維持されるようになるけど、
直接にはプログラミングの技能との関連はなくて、まぁ、要するに個人差があるのでなんともいえない。
0176デフォルトの名無しさん2012/12/24(月) 09:04:37.62
キーボードを使わないプログラミングもある
0177はちみつ餃子 ◆8X2XSCHEME 2012/12/24(月) 15:59:58.90
0178デフォルトの名無しさん2012/12/29(土) 17:43:37.06
オヌヌメのコンパイラを教えてください
IDE以外でお願いします
ちなみにwinです
0179デフォルトの名無しさん2012/12/29(土) 19:04:42.15
>>178
gcc (MinGW)
0180デフォルトの名無しさん2012/12/29(土) 20:48:24.91
LSI-C試食版
0181デフォルトの名無しさん2012/12/29(土) 22:45:22.68
>180だけはやめておけ。
0182デフォルトの名無しさん2012/12/29(土) 23:01:30.00
対案なしでケチ付けるのが好きだな
0183はちみつ餃子 ◆8X2XSCHEME 2012/12/30(日) 09:48:55.16
C99 非対応はさすがにもう古すぎるだろう。
0184デフォルトの名無しさん2013/01/04(金) 17:34:52.69
まあ今ならIDE付きが良けりゃVC Express、コマンドラインやUnix系ならgccでいいやな
0185 ◆QZaw55cn4c 2013/01/04(金) 17:54:34.03
clang‥‥
0186 忍法帖【Lv=6,xxxP】(1+0:5) 2013/01/04(金) 18:46:07.53
全くわからん
0187デフォルトの名無しさん2013/01/14(月) 19:56:05.08
え?
0188デフォルトの名無しさん2013/01/14(月) 22:36:33.80
馬鹿には分からん
0189デフォルトの名無しさん2013/01/19(土) 22:03:06.79
馬鹿には分clang
0190デフォルトの名無しさん2013/01/19(土) 23:03:35.94
さっPerlぃ分からん
0191デフォルトの名無しさん2013/01/20(日) 13:47:00.58
>>173
逆にブラジャータッチが遠くなる
0192デフォルトの名無しさん2013/01/20(日) 13:50:56.44
などと下着泥棒が申しております
0193デフォルトの名無しさん2013/01/25(金) 15:36:03.10
半角英数字5文字の文字列を格納可能な、文字型配列の要素数は最低限何個必要か?
0194デフォルトの名無しさん2013/01/25(金) 15:38:27.76
3行×2列の整数型の2次元配列matrix_dataに関して、

matrix_data[2][0] は、matrix_data[0][0]を1番目の要素とすると、計算機のメモリ上では、何番目の要素となるか数字で答えよ。
0195デフォルトの名無しさん2013/01/25(金) 15:42:02.66
クイズスレ
0196デフォルトの名無しさん2013/01/25(金) 16:05:47.57
いつから宿題スレに?
0197デフォルトの名無しさん2013/01/25(金) 16:10:37.52
>>193
>>194
ゴミ
0198デフォルトの名無しさん2013/01/25(金) 18:17:33.81
超暇な俺が真面目に答えてやるよ

>>193
文字列型があればよいので文字型配列は不要
>>194
アーキテクチャと実装言語により異なる
0199デフォルトの名無しさん2013/01/25(金) 18:36:21.94
>>198
ここはC言語スレ。
0200デフォルトの名無しさん2013/01/25(金) 18:59:21.38
193はcharを8bit文字コードをUTF32と仮定して最低20個だな
0201デフォルトの名無しさん2013/01/27(日) 09:10:00.24
>>193
「半角英数字」って書体の話か? どれだけ必要かなんて実装次第だろ。
0202デフォルトの名無しさん2013/01/27(日) 09:14:17.05
>>201
ゴミ
0203デフォルトの名無しさん2013/01/27(日) 09:59:04.73
例えば文字列「123ABC$!&00字」というのは、良く使うと思われるエンコードで16進表記にすると
 ・SHIFT-JIS  : 31 32 33 41 42 43 24 21 26 30 30 8E 9A
 ・CP932    : 31 32 33 41 42 43 24 21 26 30 30 8E 9A
 ・ISO-2022-JP : 31 32 33 41 42 43 24 21 26 30 30 1B 24 42 3B 7A 1B 28 42
 ・EUC-JP   : 31 32 33 41 42 43 24 21 26 30 30 BB FA
 ・UTF-8    : 31 32 33 41 42 43 24 21 26 30 30 E5 AD 97
 ・UTF-7    : 31 32 33 41 42 43 2B 41 43 51 41 49 51 41 6D 2D 30 30 2B 57 31 63
なので、半角英数は1byteで良いのかな。
(「試した範囲ではこうでした」の域を出ないけど…)

UTF-7だと半角記号は厄介ですね。単独だと
 0 = 30
 $ = 2B 41 43 51
 ! = 2B 41 43 45
 & = 2B 41 43 59
 0 = 30
だし、並ぶと
 0$!&0 = 30 2B 41 43 51 41 49 51 41 6D 2D 30
しかも
 0$$$$$0 = 30 2B 41 43 51 41 4A 41 41 6B 41 43 51 41 4A 41 2D 30
0204デフォルトの名無しさん2013/01/27(日) 10:04:33.40
>>203
ゴミ
0205デフォルトの名無しさん2013/01/27(日) 10:15:01.75
>>203
「半角」というのは文字の形を表現している言葉に過ぎないので、
書体によっては何でも半角になり得る。
http://opentype.jp/hankakufont.htm

かつて1バイト文字を半角で表示していた習慣から混同されているが、
半角文字に対応する文字コードのサイズは決定できない。
0206デフォルトの名無しさん2013/01/27(日) 10:22:10.52
2バイト半角を君は知っているか
0207デフォルトの名無しさん2013/01/27(日) 10:27:37.33
>>205
ここのスレタイからして、>>193は書体に関わる質問ではないと思うんだが
0208デフォルトの名無しさん2013/01/27(日) 10:30:15.76
全角文字が生まれるまでは半角文字など存在しなかったのであるよ
半角文字というのは全角に対応してそう呼ばれているだけ煮すぎない
0209デフォルトの名無しさん2013/01/27(日) 10:31:47.91
>かつて1バイト文字を半角で表示していた習慣から

この認識は間違いなので新ためるように
0210デフォルトの名無しさん2013/01/27(日) 10:33:14.04
>かつて1バイト文字を半角で表示していた習慣から

まるで今は1バイト文字を半角で表示していないかのような言い草だ罠。
0211デフォルトの名無しさん2013/01/27(日) 10:34:07.73
半角 全角の歴史は組版にまで遡るのであるのである
0212デフォルトの名無しさん2013/01/27(日) 14:02:43.09
おれが村田だ
0213デフォルトの名無しさん2013/01/27(日) 15:07:39.38
南ハルオでございます
0214デフォルトの名無しさん2013/01/28(月) 08:53:39.87
そうか。
0215SCHEME餃子 ◆8X2XSCHEME 2013/01/28(月) 10:36:55.73
>>213
みなみけwww
0216デフォルトの名無しさん2013/01/28(月) 10:39:36.02
>>208
煮すぎるとどうなるの
0217デフォルトの名無しさん2013/01/29(火) 04:14:52.66
釘でバナナが打てます
0218デフォルトの名無しさん2013/01/29(火) 10:39:43.30
打てるけど打った結果はどうなるの?
0219デフォルトの名無しさん2013/01/29(火) 11:01:10.36
バナナが釘に刺さります
0220デフォルトの名無しさん2013/01/29(火) 11:42:01.16
そんなバナn
0221デフォルトの名無しさん2013/03/17(日) 21:19:04.67
まだぺーぺーなんだけど、ちょっと教えてほしい!

printf("0x%02x〜
の"02x"って何?
いまいちわかんないんだ
0xは16進数の表記とはわかるんだけど…
0222はちみつ餃子 ◆8X2XSCHEME 2013/03/17(日) 22:27:09.59
>>221
%02x でひとまとめの指定。
printf に渡している次の整数ひとつを十六進数二桁 (二桁に満たない場合は上位桁をゼロ詰め) で表示せよということ。
その場合の 0x は 0x と表示するだけ。
0223デフォルトの名無しさん2013/03/18(月) 22:19:13.22
>>222
おお!そーゆーことか!
らくらく突破C言語テキスト読んでるんだけどさっぱりだったんだわ(´・ω・`)

ありがと!
0224デフォルトの名無しさん2013/03/19(火) 02:53:50.00
規格の書式指定子に関する部分を抜き出してみた。
http://www.rupan.net/uploader/info/1363629157
0225デフォルトの名無しさん2013/03/19(火) 06:41:00.58
#include <stdio.h>
#include <time.h>
int main(int ac, char **av)
{
  time_t time;
  struct tm t, *l;
  t.tm_year = 2013 - 1900;
  t.tm_mon = 3 - 1;
  t.tm_mday = 18;
  t.tm_hour = 8;
  t.tm_min = 0;
  t.tm_sec = 0;
  time = mktime(&t);
  printf("%ld\n", time);
  l = localtime(&time);
  printf("%d-%02d-%02d %02d:%02d:%02d\n",
    l->tm_year + 1900, l->tm_mon + 1, l->tm_mday,
    l->tm_hour, l->tm_min, l->tm_sec);
  return 0;
}
これで 1363557600 2013-03-18 07:00:00 という結果になるのですが、
なぜ一時間ずれるのでしょう?
0226はちみつ餃子 ◆8X2XSCHEME 2013/03/19(火) 07:56:50.49
t.tm_isdst = 0;
を入れればいいんじゃね?
俺の環境では再現しないからわかんないけど。
0227デフォルトの名無しさん2013/03/19(火) 08:39:53.04
UTC で作成した時刻を現地時刻に変換したからじゃね?
調べてないけど。
0228デフォルトの名無しさん2013/03/19(火) 13:34:37.73
>>225
全部大文字で書け!

#INCLUDE <STDIO.H>
#INCLUDE <TIME.H>
INT MAIN(INT AC, CHAR **AV)
{
TIME_T TIME;
STRUCT TM T, *L;
T.TM_YEAR = 2013 - 1900;
T.TM_MON = 3 - 1;
T.TM_MDAY = 18;
T.TM_HOUR = 8;
T.TM_MIN = 0;
T.TM_SEC = 0;
TIME = MKTIME(&T);
PRINTF("%LD\N", TIME);
L = LOCALTIME(&TIME);
PRINTF("%D-%02D-%02D %02D:%02D:%02D\N",
L->TM_YEAR + 1900, L->TM_MON + 1, L->TM_MDAY,
L->TM_HOUR, L->TM_MIN, L->TM_SEC);
RETURN 0;
}
0229デフォルトの名無しさん2013/03/19(火) 13:35:42.53
ん〜、ホント、汚らしいプログラムだなw

馬鹿かと思ったw
0230デフォルトの名無しさん2013/04/02(火) 11:42:35.71
>>228
全角で書け!
0231デフォルトの名無しさん2013/04/03(水) 00:57:33.02
だが断る
0232デフォルトの名無しさん2013/04/03(水) 19:42:10.51
すいません。プログラム初心者です
質問、よろしいでしょうか?
0233デフォルトの名無しさん2013/04/03(水) 20:24:26.00
>>232 どうぞ
0234デフォルトの名無しさん2013/04/04(木) 21:47:31.87
MsgBox "前から言おうと思ってたんだけど良い?" , vbExclamation Or vbApplicationModal , "キーボードからの警告"
MsgBox "あのさぁ汚い手で触らないでくれる?" , vbExclamation Or vbApplicationModal , "キーボードからの警告(2)"
MsgBox "ほら、小指の爪ばっかり伸ばしてるからあたって痛いんだよね" , vbExclamation Or vbApplicationModal , "キーボードからの警告(3)"
MsgBox "あと、Enterだけ強く叩くのやめてくれる?カッコいいと思ったら大きな間違いだよ" , vbExclamation Or vbApplicationModal , "キーボードからの警告(4)"
0235デフォルトの名無しさん2013/04/04(木) 21:50:00.43
MsgBox "あと、お礼に良いこと教えてあげるよ!!キーボードからよく見えるしさ" , vbExclamation Or vbApplicationModal , "ありがとぉ〜"
MsgBox "鼻毛のびてるよ...." , vbCritical Or vbApplicationModal , "キーボードからのお礼?"
MsgBox "早めに切ってね." , vbCritical Or vbApplicationModal , "キーボードからのお礼?(2)"
 このプログラム面白くできませんか?
0236デフォルトの名無しさん2013/04/04(木) 22:59:32.80
壊滅的にセンスがないな。
0237デフォルトの名無しさん2013/04/04(木) 23:05:08.34
>>236
すいません。センス無いんです...
改善点だけでも!!
0238デフォルトの名無しさん2013/04/04(木) 23:13:33.33
そもそもこのスレが何のスレかも分かっていないようだが。
0239デフォルトの名無しさん2013/04/05(金) 02:55:21.64
Unix環境ですと、セグメンテーション違反やバスエラーが発生した場合、
コアダンプしてプロセスが強制終了するのですが。
プロセスを強制終了させずに、エラー処理ルーチンに制御を移して
処理を続行させるようなことは、C言語では可能ですか?
0240デフォルトの名無しさん2013/04/05(金) 07:59:09.65
>>239
出来るけどシグナルが発生した原因を取り除かないと同じ事が繰り返すよ。
0241デフォルトの名無しさん2013/04/05(金) 13:54:47.39
>>240
情報どうもです(`・ω・´)
0242デフォルトの名無しさん2013/04/11(木) 14:57:51.76
error LNK2019: 未解決の外部シンボル __imp__SetCursorPos@8 が関数 _main で参照されました。
これの解決策がわかりません、opencvを使うにあたってプロジェクトの
プロパティで、インクルードディレクトリなどを追加していることなどが
関係しているようなのですが特定できません。
よろしくお願いします。
また、opencvを使用していない簡単なプログラムでSetCursorPosを
使った際はエラーが発生しません。
0243デフォルトの名無しさん2013/04/11(木) 17:00:34.43
>>242
全然分からんけど、もしかして
1. #include <windows.h> を #include "stdafx.h" の次に書く
2. int main() を int WINAPI WinMain(HINSTANCE hinst, HINSTANCE hinstPrev, LPSTR lpszCmdLine, int nCmdShow) にしてみる
これでは…?
0244デフォルトの名無しさん2013/04/11(木) 17:13:37.80
>>243
ありがとうございます。
しかし、1と2を行った結果
MSVCRTD.lib(crtexe.obj) : error LNK2019: 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。
というメッセージが増えてしました。
0245デフォルトの名無しさん2013/04/11(木) 17:32:30.32
>>244
馬鹿輩! 先ずは1だけ試した結果を書けよ。
0246デフォルトの名無しさん2013/04/11(木) 17:40:36.14
申し訳ないです。
1のみの結果
C:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\include\afx.h(24): fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
が増えました。

2のみ
MSVCRTD.lib(crtexe.obj) : error LNK2019: 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。
です
0247デフォルトの名無しさん2013/04/11(木) 18:17:31.10
横からすみません。
これってDLLのプロジェクトですか?
0248デフォルトの名無しさん2013/04/11(木) 18:21:22.98
ttp://d.hatena.ne.jp/gomi-box/20101006/1286355611
と同じかな?
0249デフォルトの名無しさん2013/04/11(木) 19:36:52.54
>>248
リンク先の対処法でstdafx.hについては解決しましたが、
error LNK2019: 未解決の外部シンボル __imp__SetCursorPos@8 が関数 _main で参照されました。
このメッセージは消えません。
0250デフォルトの名無しさん2013/04/11(木) 19:40:40.87
>>247
コンソールアプリケーションです。

>>248
ありがとうございました。
0251デフォルトの名無しさん2013/04/11(木) 19:44:02.72
空のプロジェクト
にチェック入れて作ってしまっていました。
とりあえず作り直してみます。
0252デフォルトの名無しさん2013/04/12(金) 09:47:40.93
>>251
で作り直しましたが、何も変わりませんでした。
0253デフォルトの名無しさん2013/04/12(金) 13:23:16.24
libをリンクしていないようにしか見えない
0254デフォルトの名無しさん2013/04/12(金) 15:35:54.26
     \_   _ /`|l: : : : l: : l.:イ| |:l  'l:| lヽ.: : :| ヾ ヽ.:|ハ: : : :|.: |   ̄    /  .|.:|   
       `V:)´     /|.l.:|: : :l.: :l: :| ,t==z, l|  \: | ,r==z,|: : : |.:_:|   \_/:`ヽ/|:|   
       |(    / | l:|.: : :l: :ll: |/んノ心     ヾ んノ心.|: : : |´-|   入.: :| |: |: :| |:|   
       l| 'ーl´.:^lヽ_,,l|ヽ: :ヽ.:l: | {:::i::j:::リ         {:::i::j:::リ|: : : |...l lt-'´/:|: /':,|:/|: | |:|
            \: :|\: \:\:ヽ;|'. ゝ- '"     ,     ゝ- '".|.: :/ー'/.:|: /: :|/: : |!. |/. |'    >>1
            /:`'.: : :\: : :|`l: iヽ "" ""  、  ,  "" ""|: /:-t'´://: :/: : : ´':.'
        ( ー'-=z_ニー' i、.:|`'l: 'z、               ., :|:/: : :_|;/-‐--‐t_,,z'" ):,
        `7- 、    `ヽ_'ー--; :|: |`: :t- .,  _ ..: :i: :/´:|.:l´ r=ニシ- '` _./、.: :':,
        /: ;ノ/\    `ヽ. /ヽー=ニノ_: |ー----‐|: : |: ':_;:-y、r|  /    /‐-t_|_ :_.:':,
        // __  \_    .lヽ }/ `i\ ー----‐'冫 _,r' ( | | ノ   /   __  ̄ )
      γ´ ,.イ´ /       /ノ .〉、  `i_ `.     ´ _r"   )'/ /   /   (_ 〉: : ̄: ':,
      ,:ー:'´: i/ ./`l  ,、  / l _) )  `i、_ ´ r''"      /l/ 弋      ,:=,,_` ' : 、: : ',
     ,:'.: : : :,.' /^|,_/ / | .l-'./ /  o oγ'Y´o o    ( `iー、ヽ._  r: 、 \ノ` : 、._): : ':,
    ,:'.: : : :,(_/`i '/ /三| l ノ リ      弋リ           ̄`iーゝ_, >、\l\ \: : : : : : : ',
   ,:'.: : :/: : : /: :ゝ(_ノ   冫' ,イ-'     _r-' "'ー、_.       |ー--−'ゝ,_).:`ー ': : : : : : : :':,
0255片山博文MZパンク ◆0lBZNi.Q7evd 2013/04/12(金) 22:19:30.25
お前ら全員雑魚。なに勉強してんだよ。

SetCursorPos関数を使ってるのにuser32.libをリンクしてないのが原因。

ソースのどこかに
#pragma comment(lib, "user32.lib")
の一行を書けば解決する。
0256デフォルトの名無しさん2013/04/12(金) 22:39:51.11
なんでわざわざソースリンク書くんだよめんどくせぇ
0257デフォルトの名無しさん2013/04/12(金) 22:44:24.32
>>256
コピペもできない餓鬼は黙ってろ
0258デフォルトの名無しさん2013/04/13(土) 00:58:23.10
>>255
初心者に嘘教えてるお前よりはマシ。
0259デフォルトの名無しさん2013/04/13(土) 04:51:17.57
>>255
VSで普通にC++のアプリのプロジェクトを作ったら特に何もしなくても
user32が使えると思っていたけど違うの?

>>242
#pragma comment(lib, "user32.lib")
を書いてどういう結果になるのか楽しみ
0260デフォルトの名無しさん2013/04/13(土) 09:43:39.69
0261デフォルトの名無しさん2013/04/13(土) 17:37:17.72
getcで質問なんですが
while((c = getc(file)) != EOF);
getcをwhileでループしているだけなのになぜ順番に1文字ずつ読まれるのでしょうか
現在何番目の文字が読まれているとかいうのをfileに書き込んでいるのですか?
0262デフォルトの名無しさん2013/04/13(土) 17:48:05.64
ヒント:FILE構造体
0263デフォルトの名無しさん2013/04/13(土) 17:54:38.47
>>262
ありがとうございます
getcは1文字読み込んでFILE構造体のptrをインクリメントしているのですね
0264デフォルトの名無しさん2013/04/13(土) 17:58:05.75
ファイルの読み込み位置をFILEに記録してる処理系なんてないだろ。
0265─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG 2013/04/13(土) 21:43:18.45
>>263
>getcは1文字読み込んでFILE構造体のptrをインクリメントしているのですね

Cの規則ならGETC(FILE++)にすべきなんだろうなw

FILE++(笑)
0266デフォルトの名無しさん2013/04/13(土) 22:15:25.33
冗談なのかバカなんで本気で言ってるのかわからん
0267─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG 2013/04/13(土) 22:16:53.38
FILE++(笑)
0268デフォルトの名無しさん2013/04/13(土) 22:18:17.75
ちなみにFILEは構造体じゃなくてもいいんだけどな
0269─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG 2013/04/13(土) 22:20:33.10
FILE++(笑)
0270デフォルトの名無しさん2013/04/13(土) 22:41:28.82
何でこの糞スレが今さらagaってる?
0271─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG 2013/04/14(日) 00:09:48.82
FILE++(笑)
0272デフォルトの名無しさん2013/04/14(日) 01:17:17.03
将棋電王戦でポナンザを開発した山本一成氏がツイッターで
「C#マンセー」みたいな事言っていて、.NETの開発効率には賛同なんだが
それ以前のつぶやきで、「C++って関数の引数の直値で配列書けないのか‥?」
って・・・。
C++及びCの基本も知らないようで驚いた。
応用分野には詳しいようだけど、東大の大学院を出ていて
このレベルというのはどうかと・・・。
CとC++なんて3日でマスター出来るのに
Cを知らないようでは、SDKプログラミングが出来るかどうかも
怪しいね・・・。
MASMオンリーでWindowsアプリを書けるくらいの人だと思っていたのに
ちょっと幻滅。
0273 ◆QZaw55cn4c 2013/04/14(日) 02:22:10.42
>>272
C/C++では関数の引数としての配列はcall of reference になってしまうのだが、山本氏としては call of value でありたかったのでは、構造体と同じように。
0274 ◆QZaw55cn4c 2013/04/14(日) 02:24:01.98
用語を間違えた、call by reference / call by value だったね
0275デフォルトの名無しさん2013/04/14(日) 02:42:16.50
無理して元々無い英語力を見せつけようとしなくてもいいよ、低脳Q君w
0276デフォルトの名無しさん2013/04/14(日) 02:50:10.67
>>275
それもそうなんですが、用語「参照」が変な風に使われるようになってしまったのを意識しているのです。
02772722013/04/14(日) 05:05:50.15
あの感じだと、テキストセグメント、データセグメント、スタックセグメントの概念も知らなそうですね。
知っているからどうなんだという意見が出そうだけど、プロセスが終了するまで
malloc等で動的に確保され拡大されたデータセグメントはfreeしても縮小しないので。
02782722013/04/14(日) 06:29:46.23
いやね?、しつこくてスマンけど、

>>272
「C++って関数の引数の直値で配列書けないのか‥?」

って、定数なんだから、値渡しだろうと、アドレス渡しだろうと
関係ないでしょ?
それにconst配列の引数は使えるんだし、根本的に意味不明で、
山本氏は一体何を言いたいのだろうかと。
天才の考える事は常人には理解不能って事?

もしかしたら自分が間違っているのかと思って、テストプログラムまで書いちゃったよ。。
02792722013/04/14(日) 06:34:43.73
最近はCとC#とJAVAしか使わないから、もしかしたらCとC++では
規約が違っているのかと思って焦ってしまった。
02802722013/04/14(日) 06:59:24.18
まさか、

hoge(const int nTemp[5]={0,1,2,3,4});

こんな呼び出しをしようってわけじゃないよね?
これって動くの?こんなことやった事ないから分からんけど。
眠いから、もうテストする気無し。
02812722013/04/14(日) 07:59:34.49
そういや、直値ってハードコードされた数値の事で、定数の一種ではあるけど
直値の配列なんて表現は無いんであって、そうなると

「C++って関数の引数の直値で配列書けないのか‥?」

この日本語って、どう解釈すればよいわけ?
「関数の引数の直値で」「配列を書く」????
日本語自体が破綻しているとしか思えないんだけど。
02822722013/04/14(日) 08:03:32.07
って事でワケワカメのC#厨の話はお開きにして、F1決勝まで寝る。
02832722013/04/14(日) 08:11:01.69
初めからラッパーばかり使って楽してきた奴はこうなってしまうという典型?
02842722013/04/14(日) 08:26:55.81
もしかして、これ?

hoge({0,1,2,3,4});

こんなん見た事ないけどw
0285─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG 2013/04/14(日) 08:31:55.49
hoge({*0++,*1++,*2++,*3++,*4++}); (笑)
0286デフォルトの名無しさん2013/04/14(日) 13:02:33.93
>>284
スクリプト言語だとしばしば見かける
0287デフォルトの名無しさん2013/04/14(日) 15:52:01.23
>>284
確かC++11出来るようになったような。
0288デフォルトの名無しさん2013/04/14(日) 16:23:59.40
androidでギャラリーアプリに使用する
1枚目の画像を右にスライドさせると右にスライドしながらフェードアウトして
後ろにある2枚めの画像が表示されるという機能を付加するのに参考になる情報ありますか?
0289デフォルトの名無しさん2013/04/14(日) 17:08:45.93
>>288
スレ間違えてないか?
0290デフォルトの名無しさん2013/04/14(日) 17:11:24.06
クロスフェード?
0291デフォルトの名無しさん2013/04/15(月) 09:21:29.33
>>255
#pragma comment(lib, "user32.lib")
を入れても変わらず動きませんでした。

逆にSetCursorPosを使っていても、25行程度の簡単なプログラムでは
#pragma comment(lib, "user32.lib") を入れなくても動きました、
もちろん入れても動きました。
0292デフォルトの名無しさん2013/04/15(月) 10:38:10.21
>>291
#include <windows.h>
#include <stdio.h>

int main(int argc, char* argv[])
{
int x=0,y=0;
SetCursorPos(0,0);
while(1){
POINT pos;
GetCursorPos(&pos);
printf("(%d,%d)\n",pos.x, pos.y);
SetCursorPos(pos.x+x,pos.y+y);
Sleep(10);
if(pos.x>3198)x--;
if(pos.x==0)x++;
if(pos.y==0)y++;
if(pos.y>1198)y--;

}
return 0;
}

こんなんで動きます。

ループは無限です
0293片山博文MZパンク ◆0lBZNi.Q7evd 2013/04/15(月) 14:28:56.65
nodefaultlibが設定されている可能性がある。nodefaultlibでソース内を検索
0294デフォルトの名無しさん2013/04/15(月) 21:27:38.98
ソース内でnodefaultlibを検索しても見つかりませんでした。

プロパティ > 構成プロパティ > リンカー > コマンドライン の
追加オプションに
「/NODEFAULTLIB:"atlthunk"」
と過去に追加したことはあります。↓の情報です。
www.atinfinity.info/wiki/index.php?OpenCV%2FvideoInput%20Library%E3%81%AB%E3%82%88%E3%82%8B%E3%83%93%E3%83%87%E3%82%AA%E3%82%AD%E3%83%A3%E3%83%97%E3%83%81%E3%83%A3
0295片山博文MZパンク ◆0lBZNi.Q7evd 2013/04/15(月) 22:07:14.39
ATLスレで再質問お願い
0296デフォルトの名無しさん2013/04/15(月) 22:24:35.58
あ、初心者に嘘教えるのが趣味の片山だ
0297デフォルトの名無しさん2013/04/15(月) 22:26:53.44
0298片山博文MZパンク ◆0lBZNi.Q7evd 2013/04/15(月) 23:02:38.58
ヘッダーにもnodefaultlibが設定されている可能性が。ATLは詳しくないから分からないけど
0299デフォルトの名無しさん2013/04/15(月) 23:44:55.63
>>298
ヘッダーにもnodefaultlibはありませんでした。
0300デフォルトの名無しさん2013/04/15(月) 23:46:54.14
>>297
どうもです、
そちらに書き込んでみます。
0301デフォルトの名無しさん2013/04/16(火) 00:25:00.86
>>299

>>248
> ttp://d.hatena.ne.jp/gomi-box/20101006/1286355611
は問題なかったの?
0302デフォルトの名無しさん2013/04/16(火) 03:00:05.46
>>301
「プロパティ > 構成プロパティ > 全般 > MFCの使用」を「共有DLLでMFCを使う」にする。
で解決しました。
0303デフォルトの名無しさん2013/04/16(火) 20:27:01.70
>>298
分からないならレスするな
そこまでして自己顕示欲を満たしたいのか
0304デフォルトの名無しさん2013/04/16(火) 20:30:02.08
No.411139 無題 2013/03/10(日) 10:58:22 返信 削除
2ちゃんねるのプログラム板たまに見てるんだけど、
片山とかって投稿者は何でいつも中途半端な投稿してるの?
信用してたらヤバめのバグを組み込むことになりそうなんだけど

No.411142 無題 (※削除※) 2013/03/10(日) 11:14:08 返信 削除
>411139
初心者を騙して楽しんでるらしいよ
必ずどこかに嘘を混ぜてる

No.411144 無題 (※削除※) 2013/03/10(日) 11:32:51 返信 削除
>411139
聞いた話ですが、数年前からそういった書き込みをしているそうです。
年単位で成長していないということも考えにくいので、やはり411142さんの言う通りなのかなと思います。

>411143
strncpyの前にNULL文字で埋めてください。

No.411149 無題 2013/03/10(日) 11:49:52 返信 削除
>411142
必ずではないぞ
正確な内容を書き込んでるのも見たことある
但しそのときは質問者の意図とは関係ない書き込みで
違った方向に議論を誘導しようとしてた

No.411152 無題 2013/03/10(日) 12:01:30 返信 削除
>411148
トリップ付けてる人でしょ?
2チャンネルで質問する際は気を付けろって(※削除※)のMLで流れてたよ。
0305デフォルトの名無しさん2013/05/13(月) 20:53:15.85
n
0306デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
int n = 10;
int a[n];
こういう実行時に長さが決まる配列型って処理系の独自拡張?標準?
標準だとしたらいつから?
0307デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
C99
0308デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
ウォーリーを探せをC言語でやりたいのですができますか?
0309デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>308
やる気と無限の時間と画像を取り込む装置があればできなくもない
0310デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
特に何も考えてなさそうなので flashを勧める
0311デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
C言語ってどうすれば上達するの?
書こうと思っても全然発想が出てこない
0312デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
やることないなら問題でも解いてろ
0313デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
0314デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>311
ひたすら何か作るしかない
0315デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
topcoder
codeforces
codechef
pku
日本語が良ければaoj
0316デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
>311
他の言語、ツールで出来ることもC言語で作ってみる。
0317デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
C言語にゅうもんのコンソールアプリしか作れない症状と診た
0318デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
QZ病だね
0319デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
>>311

C言語プログラミング能力認定試験を受けて資格を取ってみる。
きっとCが嫌いになる
0320デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
>>319
サンプル問題みたけど一級の問題作ったのコボラーとしか思えない
0321デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
COBOLは消えてなくなると考えられていたから
C言語プログラマーが代替できるようにそういう問題にしてるとかじゃね?
0322デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
コボラーは死なず。ただ、消え去るのみ...
0323デフォルトの名無しさん2013/08/03(土) NY:AN:NY.AN ID:QuQbJ8u+!
10進数で計算してるから銀行からは消えないって聞いたけど
0324デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
任意精度整数演算できればいいんだから、そんなもん理由にならん
0325デフォルトの名無しさん2013/08/19(月) NY:AN:NY.AN
#include <stdio.h>
int main(void)
{
int i, j;
int ar[7];
for (i = 0; i <= 15; i++) {
j = i % 7;
ar[j] = i * i;
printf("%2d ar[%d] = %3d\n", i, j, ar[j]);
}
return (0);
}

剰余でつまずきました
0〜15の数字 : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
7で割った余り : 0 1 2 3 4 5 6 0 1 2 3 4 5 6 0 1
最初の、7で割った余り : 0 1 2 3 4 5 6 がわかりません・・・orz
0326デフォルトの名無しさん2013/08/19(月) NY:AN:NY.AN
0327デフォルトの名無しさん2013/08/21(水) NY:AN:NY.AN
>>326
うぅむ、4年生がわからないのは理解できるが、親がわからないのはひどいな。
0328デフォルトの名無しさん2013/08/21(水) NY:AN:NY.AN
まぁ、計算しなくても生きていけるからね。
0329デフォルトの名無しさん2013/08/21(水) NY:AN:NY.AN
でも、計算出来ないと、人生のいろいろな場面で損する事はあるよね。
気づいてないかもしれんが...
0330デフォルトの名無しさん2013/08/21(水) NY:AN:NY.AN
C言語、5年くらいやってるけどオレもわからん・・・orz
0331デフォルトの名無しさん2013/09/09(月) 00:05:02.95
実際C言語で何が作れんの?ゲームとか?
0332はちみつ餃子 ◆8X2XSCHEME 2013/09/09(月) 00:19:46.71
だいたいのソフトは書けるよ。
0333デフォルトの名無しさん2013/09/09(月) 00:52:18.21
Javaと比べてどっちが良いかな?
0334はちみつ餃子 ◆8X2XSCHEME 2013/09/09(月) 02:27:13.74
用途によるのでどちらが良いということはない。

オムライスと剛力彩芽のどっちがいいかなというくらいの無意味さ。
俺はオムライスの方がいいけどな。
0335デフォルトの名無しさん2013/09/09(月) 08:34:34.55
C言語がわからないのではなく、C言語によるGUIの作り方や日本語文字列の処理方法がわからないw
0336デフォルトの名無しさん2013/09/09(月) 13:47:42.58
そーいうのはWin32APIとかgtk+とかを勉強しないと
0337デフォルトの名無しさん2013/09/09(月) 23:23:54.77
俺もCをやり始める前はそうだった
「C言語入門」だとクルマのエンジン部分しかわからない
JavaとかVBだともう少しいろいろついてくるんだけどな
0338デフォルトの名無しさん2013/09/10(火) 06:57:48.80
>>334
>剛力彩芽
名曲探偵アマデウス以来‥‥ちがった、あれは黒川芽以
0339デフォルトの名無しさん2013/11/10(日) 12:43:45.80
ペイント実行してJPG画像読み込んでBMP画像として保存する
をC言語でそうやってやるんですか?
0340デフォルトの名無しさん2013/11/10(日) 12:45:37.72
誤記
C言語でそうやってるんですか?
0341デフォルトの名無しさん2013/11/10(日) 12:47:38.32
誤記
C言語でどうやってやるんですか?
0342デフォルトの名無しさん2013/11/10(日) 12:49:45.47
ペイントを実行するのにC言語が必要なのか
それはご苦労なコッタ
0343デフォルトの名無しさん2013/11/10(日) 12:50:30.94
まずペイントを作ります
0344デフォルトの名無しさん2013/11/10(日) 13:15:22.79
やりたいことはJPG画像からbmp画像の変換です。
たくさんのJPGファイルを一括で処理します。
一括変換フリーソフトをいろいろ試したのですが、
ペイントの24ビットマップ形式で保存できるものがありませんでした。
なのでC言語からペイントを実行、保存しようと考えました。
0345デフォルトの名無しさん2013/11/10(日) 13:23:06.54
Irfan Viewならできそうだが

ついでに言っとくと
「ぼくはC言語でぷろぐらむできます」とか他で言わないようにな
恥をかくぞ
0346sage2013/11/10(日) 13:32:04.86
Irfan Viewでは一括処理やマクロが出来なかった気がします。
C言語はド初心者レベルと自覚しています。はい。
0347sage2013/11/10(日) 13:39:05.55
ペイントだとbmp保存で24ビットや256色とかいろいろ種類があります。
一方Irfan Viewでのbmp保存は一種類しかなく、この形式が望むものと違います
0348デフォルトの名無しさん2013/11/10(日) 13:49:26.44
ImageMagick使えば
0349デフォルトの名無しさん2013/11/10(日) 14:10:22.06
ありがとうございます。試してみます。
0350デフォルトの名無しさん2013/11/10(日) 14:52:44.35
JTrimじゃあかんのか
0351デフォルトの名無しさん2013/11/10(日) 17:10:52.83
ありがとうございます。
JTrimは一括変換できそうでね。あとはbmpがどの形式で保存されてるか。
試してみます。
0352デフォルトの名無しさん2013/12/07(土) 00:57:54.98
>>335
必要な処理が書かれてそうなSoftware探してきてfind-grep
よほどバカでなければ2、3個のプロジェクト眺めたら何が必要かぐらい分かる
真面目にフローを追うのは知らない。
動的デバッグで処理をトレースする方法を知りたいけれど、あんまりネット上で情報を見ない。
0353デフォルトの名無しさん2014/01/10(金) 10:52:51.16
typedefみたいな型変換ってなんのために必要なの?
結局、中身は int とかじゃないんですか?
0354デフォルトの名無しさん2014/01/10(金) 11:53:19.05
>>353
typedefがないとstdio.hのFILEの代わりにコンパイラごとに異なった構造体を使う羽目になるよ。
例えば、FILEはこんな構造体の別名になっているかも知れない。
--
struct __sFILE {
unsigned char *_p; /* current position in (some) buffer */
int _r; /* read space left for getc() */
int _w; /* write space left for putc() */
short _flags; /* flags, below; this FILE is free if 0 */
short _file; /* fileno, if Unix descriptor, else -1 */
struct __sbuf _bf; /* the buffer (at least 1 byte, if !NULL) */
int _lbfsize; /* 0 or -_bf._size, for inline putc */

/* separate buffer for long sequences of ungetc() */
struct __sbuf _ub; /* ungetc buffer */
unsigned char *_up; /* saved _p when _p is doing ungetc data */
int _ur; /* saved _r when _r is counting ungetc data */

/* tricks to meet minimum requirements even when malloc() fails */
unsigned char _ubuf[3]; /* guarantee an ungetc() buffer */
unsigned char _nbuf[1]; /* guarantee a getc() buffer */

/* separate buffer for fgetline() when line crosses buffer boundary */
struct __sbuf _lb; /* buffer for fgetline() */

};
0355デフォルトの名無しさん2014/01/10(金) 14:38:36.47
typedef struct { ...... } T_STRUCT;

T_STRUCT aaa,*ppp;
0356デフォルトの名無しさん2014/01/10(金) 15:09:55.39
>>354
よくわかりません・・・orz
0357デフォルトの名無しさん2014/01/10(金) 15:33:58.56
主に構造体変数の記述が楽になる機能と思っとけばいい。
0358デフォルトの名無しさん2014/01/10(金) 16:19:12.00
楽になるって言うか、環境ごとの差異を吸収してくれると言えるね。
0359デフォルトの名無しさん2014/03/15(土) 21:28:11.30 ID:9QOnV1hL
>>356
なんにつけても、別名とか読み替え、すげ替え(怖‥)とか、最後の切り札として欲しいという場面があるのかもしれません
0360デフォルトの名無しさん2014/04/27(日) 13:35:26.65 ID:bd99OFN+
C99のforはfor (int i=0; i<10; i++){}こう書くとエラーになるそうなんですが
clang 3.0で試してみたらエラーになりません
clang 3.0ってC99に対応してますよね
何故エラーが出力されないのですか?
0361はちみつ餃子 ◆8X2XSCHEME 2014/04/27(日) 14:51:02.79 ID:xdZ6Vmhj
>>360
> エラーになるそうなんですが

そんなことをどこで聞いた?
0362デフォルトの名無しさん2014/04/27(日) 15:11:54.85 ID:6kmnG/6w
あ、すいませんclangだと思ってたらgccでした
gccだとc99でコンパイルしないとエラーになるんですよ
0363デフォルトの名無しさん2014/04/27(日) 15:14:09.23 ID:6kmnG/6w
オンラインでコンパイルできるところはほとんどそういうエラーがでますよ
http://ideone.com/YzhJfBとか
0364デフォルトの名無しさん2014/04/27(日) 15:15:48.48 ID:6kmnG/6w
いったんclangの話は忘れてください
clangではエラーはでません。
gccでC99としてコンパイルしない場合にエラーがでるんですが
これ元からこういう仕様なんでしょうか?
わざわざ
int i;
for (i=0; i<10;i++)
みたいに書いてるの昔から見た記憶がないんですよ
0365はちみつ餃子 ◆8X2XSCHEME 2014/04/27(日) 17:13:57.90 ID:xdZ6Vmhj
>>360 で書いてるのは「C99だとエラーになる」と「clang3.0 ではエラーにならない」で、
>>362 では「gcc では c99 モードでコンパイルすることを明示した場合意外ではエラーになる」と言ってる。

お前、ほんまに説明が下手なやつやな。

>>364 が本当に言いたかったことでいいんだな。

それは仕様。

int i;
for (i=0; i<10;i++)

みたいなのも昔は普通にあったし今でもそういうスタイルを好む人はたくさんいる。
0366デフォルトの名無しさん2014/04/27(日) 19:12:34.67 ID:Pjc55Uh5
>>365
なるほど、勉強になりました
0367 ◆QZaw55cn4c 2014/04/27(日) 21:58:01.52 ID:dRMpu4rZ
>>364
エラーメッセージを読むといいとおもう
http://ideone.com/H0qiU7
http://ideone.com/Sk6diU
0368デフォルトの名無しさん2014/04/30(水) 22:30:29.65 ID:5eizdNbo
リンカスクリプトの話題はこのスレで聞いてもよいものだろうか?
0369デフォルトの名無しさん2014/04/30(水) 22:53:56.73 ID:Ov1TiWMO
それは的外れに過ぎるね。
0370デフォルトの名無しさん2014/04/30(水) 22:57:04.98 ID:5eizdNbo
>>369
サンクス 別スレで聞く
0371デフォルトの名無しさん2014/11/06(木) 21:12:20.39 ID:iaZsweTc
なんでこんな重複スレみたいな糞スレ立てるんだよ。
0372デフォルトの名無しさん2014/11/10(月) 11:39:30.82 ID:Gb+bzZuG
すぐ荒れるから。
0373デフォルトの名無しさん2014/11/11(火) 09:21:14.54 ID:6NYBFoc4
http://pastebin.com/sngpMHR7
printf("%sの%s\n", mark[draw_mark-1], digit[draw_mark-1]);

draw_mark-1 とdraw_mark-1は、どうして-1なんでしょうか?
0374デフォルトの名無しさん2014/11/11(火) 11:22:25.45 ID:QByfxOoU
>draw_mark = rand() % 4 + 1; //マークを決定する
1から4の乱数を0から始まる配列番号に当てはめるから。
0375デフォルトの名無しさん2014/11/11(火) 14:20:44.02 ID:fzwLZ9n2
それは、わかるんだが
>draw_mark = rand() % 4 + 1
これって、変数に1〜4 までを適当に決めてるだけで
どうして、配列と関係があるんですか?
0376デフォルトの名無しさん2014/11/11(火) 14:36:12.21 ID:CXWKhWIS
>>373 中の mark[draw_mark-1] で
なんで -1 してるん? という質問からの派生

配列のインデックスは 0 から開始する(リンク先ソースでは mark[0] 〜 mark[3] まで)
変数 draw_mark は 1 から4まで

この draw_mark を使って 配列の要素を正しくアクセスするのに -1 して帳尻をあわせてる
0377デフォルトの名無しさん2014/11/11(火) 17:55:38.32 ID:iIdIPRdi
>>376
ありがとうございます
0378デフォルトの名無しさん2014/11/12(水) 07:45:05.87 ID:/ZcTzOPa
typedef struct
{
int value;
} TEST;

TEST t = {1};
printf("%d\n",t);

環境:VC++2012 express

このコードで1が出力されるのは、C言語の仕様に合ってるんだっけ?
0379デフォルトの名無しさん2014/11/12(水) 08:31:23.63 ID:Kd9sZNKE
合ってるんじゃないの?
0380デフォルトの名無しさん2014/11/12(水) 10:12:31.16 ID:6b20czbE
変換指定と実引数があってないから未定義じゃない?
0381デフォルトの名無しさん2014/11/12(水) 18:54:50.32 ID:8RoZt+WE
ポインタ渡してるのかと誤読した。

まぁ未定義で、常識的にやるべきじゃない記述だな。
0382デフォルトの名無しさん2014/11/12(水) 23:00:08.69 ID:8UdI52J6
だよな。ありがとう。
0383デフォルトの名無しさん2014/11/13(木) 14:12:51.43 ID:fbX2c55U
メンバー変数がint型一つしかない構造体をつくる理由が思いつかん。
0384デフォルトの名無しさん2014/11/13(木) 18:21:52.27 ID:KUU70nma
>>378
その疑問が解消したとして
何かの役に立つのでしょうか?
0385デフォルトの名無しさん2014/11/13(木) 23:22:17.48 ID:RTKAZJeS
型保証したくてね。
typedefだと間違って引数に渡した時にコンパイルエラーにならないから。

で、普通のプリミティブ型でやってたのを構造体に置き換える作業中に
なぜかprintfで正しく出力されたんで、面倒臭いアクセス関数使わなくてもいいのかも
と思って聞いてみた。

Cで擬似オブジェクト指向やってると面倒臭すぎる。演算子のオーバーロードが欲しい。
改めてC++の偉大さ(謎)が分かったかもww
0386デフォルトの名無しさん2014/11/13(木) 23:42:19.83 ID:NUKISzLu
printfで型保証とな?
0387デフォルトの名無しさん2014/11/14(金) 02:23:00.78 ID:ZKHgRmzB
printfは可変長引数の関数だから第2引数以降の型を確認しないのでエラーが出ないでしょ。
sprintf、fprintf、scanf、、、など。
その引数をどう扱うかは関数によって様々
0388デフォルトの名無しさん2014/11/14(金) 07:03:46.18 ID:TIi0CXWz
固定長引数での関数の話。
printfとかは、もちろん値を取り出して渡すつもりだったんで、あれ?と思っただけ。
0389デフォルトの名無しさん2014/11/14(金) 09:55:14.56 ID:LHxJpsmN
引数のスタックへの積まれる方向と構造体のメンバーの並ぶ順番は一致するのかと考え…ることも無く「やるな!」の一択。
0390デフォルトの名無しさん2014/11/14(金) 10:15:46.48 ID:NoejJarl
printfの本体(vprintfだったかな)のソース眺めてみれば、答えが
0391デフォルトの名無しさん2014/11/14(金) 11:51:06.29 ID:ZKHgRmzB
#include <stdio.h>
typedef struct { int value; } TEST;
void pr(int data) { printf("%d\n", data); }
int main()
{
TEST t = {1};
pr(t); // ← コンパイルエラーになる
return 0;
}
をコンパイルすれば分かると思うけど型が指定されている関数だとエラーになる。
>>378は構造体TESTのデータ(つまりvalue==1のみ)がprintfに渡されたまたま表示されているだけ。

以下のコードが "111, 333" ではなく "111, 222" と表示される理由を考えると分かるかな?
#include <stdio.h>
typedef struct { int v1; int v2; } TEST;
int main()
{
TEST t = {111, 222}; int d = 333;
printf("%d, %d\n", t, d);
return 0;
}
0392デフォルトの名無しさん2014/11/14(金) 12:01:18.41 ID:ZKHgRmzB
そして、111, 222 と表示されるとしても
「たまたま」そう表示されているだけで
環境によっては変な表示になるかエラー
0393デフォルトの名無しさん2014/11/14(金) 12:58:22.70 ID:qPlOgKHi
それは未定義で終わり。ぐだぐだ書く必要はない
0394デフォルトの名無しさん2014/11/15(土) 12:45:04.51 ID:TpdAhqvC
>>393
賛成。
0395デフォルトの名無しさん2015/02/07(土) 03:31:09.68 ID:ldaWMMkn
初めまして、
8〜12個のxy座標で囲まれた地域(歪な多角形)があり、調査対象の座標がその中にあるか、を判定する関数を作りたいのですが
どうすれば良いかが見当もつかず困っています。
判る方がおりましたらご教授下さい。
OSはLinuxです。
宜しくお願いします。
0396デフォルトの名無しさん2015/02/07(土) 03:47:05.12 ID:Y8QeCJm/
>>395
思いつきだけど
1. 囲まれた地域(歪な多角形)を囲み多角形に接しない(余白を大きめに取った)四角形をまず求める
2. 調査対象の座標から色を塗りつぶす
3. 囲まれた地域の外である、1.で求めた四角形のところを塗ろうとするなら、調査対象の座標は多角形の外側である
4. 1.で求めた四角形のところを塗らずに処理完了したら、調査対象の座標は多角形の内側である
でいかがでしょう。
0397デフォルトの名無しさん2015/02/07(土) 04:38:10.19 ID:G4SX7WFX
調査点と 範囲を決める頂点列 P(Xi, Yi) とのなす角(符号付)の総和が
360度ならば内包点 そうでないならば外の点
0398デフォルトの名無しさん2015/02/08(日) 00:12:37.99 ID:jDoVco3x
ダブルポインタが理解できない。
int **pp;
int *p;
int n[] = {0, 1, 2};
pp = &amp;p;
p = n;
p++;
printf("**pp : %d", **pp);
これでなんで0じゃなくて1が出るの。だれかわかりやすく解説してくれ。
もしくは参考書教えて。たのむます。
0399デフォルトの名無しさん2015/02/08(日) 01:36:05.41 ID:HJEgExkV
始めにpは0のアドレスを指している。
p++でpは1のアドレスを指す。
*ppはpのアドレス、**ppはpの指す値。
0400Office & Gamers ◆G144Hzgh2.0e 2015/02/08(日) 01:56:25.70 ID:EWNvntIT
BASICならPOKE/PEEK()/VARPTR()で分かる筈だけど、Cは変数とメモリを混ぜてるから分かりにくいよなw
BASICでプログラムを書いてると分かるけど、メモリを直接いじるプログラムは通常書かないから、Cの異常性が分かりやすいw
0401デフォルトの名無しさん2015/02/08(日) 02:02:24.66 ID:LUl61OMZ
>>398
> pp = &p;
> p = n;

順序逆だ
0402デフォルトの名無しさん2015/02/08(日) 02:03:14.00 ID:LUl61OMZ
と思ったら、問題ありませんね。失礼しました
0403Office & Gamers ◆G144Hzgh2.0e 2015/02/08(日) 02:08:51.18 ID:EWNvntIT
だいたいBASICよりアトに出てるのに、どうして構文解析がBASIC未満なんだろうな?w
0404デフォルトの名無しさん2015/02/08(日) 05:36:09.99 ID:1pvsOI5Y
ダブルポインタなんて言葉無いのに
ポインタ知らない奴に限ってなぜかよく使う・・・・なぜだろう
0405Office & Gamers ◆G144Hzgh2.0e 2015/02/08(日) 05:41:46.72 ID:EWNvntIT
[EXEファイル可] JavaScript統合開発環境 DX Studio [転載禁止]&copy;2ch.net
http://peace.2ch.net/test/read.cgi/tech/1423340731/l50
0406デフォルトの名無しさん2015/02/08(日) 06:33:01.72 ID:JKy44BG4
ポインタ自体わかってない。pp→p→n => pp→p→n+1
リンクやショートカットだってば。
0407デフォルトの名無しさん2015/02/08(日) 08:18:59.68 ID:aMsy6Zj7
トリプルポインタって使うことある?
***pとかw
0408デフォルトの名無しさん2015/02/08(日) 09:17:17.46 ID:HJEgExkV
なんかで使ったけど忘れたw
たぶん二次元配列を動的に確保したとかだと思う。
0409デフォルトの名無しさん2015/02/08(日) 11:13:47.14 ID:LUl61OMZ
3次元配列はなにも不思議じゃないと思うけど
0410デフォルトの名無しさん2015/02/08(日) 11:24:11.39 ID:b/2xM+wa
ポインタって良く考えると難しい概念だよな
アドレスに関連付けられた値をさらにアドレスに使えてしまうっていうのが
なんかメタ的っていうか、ラッセルのパラドックスみたいなのが導けそうっていうか
0411デフォルトの名無しさん2015/02/08(日) 11:34:02.67 ID:HJEgExkV
言葉だけで理解しようとすると少し難しいと思うんだよね。空間的というか。
0412デフォルトの名無しさん2015/02/08(日) 12:36:31.90 ID:jgXa3G6y
0413Office & Gamers ◆G144Hzgh2.0e 2015/02/08(日) 12:50:40.02 ID:EWNvntIT
VARPTR(VARPTR(VARPTR(VARPTR(プッ
0414デフォルトの名無しさん2015/02/08(日) 19:49:14.84 ID:aMsy6Zj7
既にポインタのポインタになっている変数のアドレスを
さらに関数へ渡してとなるとポインタマネギ化するのか。
0415デフォルトの名無しさん2015/02/08(日) 21:58:46.51 ID:IGJ2gQC3
ポインタで躓くなら、学部生向けのコンパイラの教科書でも読めばいいよ
0416デフォルトの名無しさん2015/02/08(日) 23:39:37.22 ID:b/2xM+wa
>>395
点から適当な直線を引く
多角形を構成する線分との交点を全て列挙する
多角形との最も近い交点に注目して
その交わり方が、多角形を出る方向だったら内部、入る方向だったら外部
0417Office & Gamers ◆G144Hzgh2.0e 2015/02/09(月) 01:57:19.52 ID:8ymQbzzq
>>415
CPUの動作原理と無関係で、表記法の独りよがりw
Cは構文解析が弱すぎるw
0418デフォルトの名無しさん2015/02/09(月) 10:19:57.45 ID:3ys1NOC1
EOFって、異常終了ですか?
それとも、\0を見つけると終了ですか?
0419デフォルトの名無しさん2015/02/09(月) 11:29:20.95 ID:ra7crE5d
End Of File
ファイルの終わりです。異常ではない。
\0のないファイルもあるから、\0と関係ないきがする。
実際は、\0がきてたりする。よくしらべないと…
0420デフォルトの名無しさん2015/02/09(月) 11:31:32.68 ID:ra7crE5d
よんだぶんがファイルの長さになったらEOFだ
0421デフォルトの名無しさん2015/02/09(月) 11:48:42.43 ID:3ys1NOC1
ありがとうございます
0422デフォルトの名無しさん2015/02/10(火) 22:26:06.33 ID:4T1+8uzu
スクラッチと言うソフトで作ったゲームをc言語に変換できますか?
0423デフォルトの名無しさん2015/02/10(火) 23:08:36.76 ID:MwNGRsKL
無理
0424デフォルトの名無しさん2015/02/18(水) 10:50:01.57 ID:fCZqCpe/
int i;
char str[] = "123";
i = atoi(str)+1
これ実行すると、124 になるけど何で?
0425デフォルトの名無しさん2015/02/18(水) 11:28:39.01 ID:Qnb1PJ0H
>424

ttp://hitorilife.com/atoi.php

>int atoi( const char *str );

>文字列で表現された数値をint型の数値に変換する。

>■戻り値:
>int型に変換した数値。変換不能文字は0を返す。
0426デフォルトの名無しさん2015/02/19(木) 10:32:04.25 ID:uIx5aNyO
構造体の入れ子って、何のためにあるの?
0427デフォルトの名無しさん2015/02/19(木) 11:48:13.04 ID:RKbGb38x
プログラマーの美学のため。
0428デフォルトの名無しさん2015/02/19(木) 11:58:25.94 ID:w9sqbTXr
大抵こういう質問するやつは解ってて聞いているただの釣り。
0429デフォルトの名無しさん2015/02/28(土) 17:34:04.33 ID:ww/ZmHX+
解ってて聞いているただの釣りとか言論封殺すんな
お前の書き込みより釣りの方がまし
0430デフォルトの名無しさん2015/03/02(月) 11:24:54.39 ID:xHwYTsX+
x=(r=v)は
r=v;x=r;なの?
r=v;x=v;なの?
0431デフォルトの名無しさん2015/03/02(月) 13:08:11.11 ID:VMX5RoB1
x=(r=v)は
t = v;
r = t;
x = t;
という感じ
0432デフォルトの名無しさん2015/03/05(木) 13:59:25.35 ID:QH4sjdfE
for(i = 0; i < 100; i++)

if(i % 2)

printf("%d ",i);

超初心者ですけど、この逆ってどうすればいい?
2 4 6 8・・・ ってやりたいんですけど
0433デフォルトの名無しさん2015/03/05(木) 14:08:13.95 ID:0g2YeNLY
その1
 if(i % 2) → if(!(i % 2))

その2
 if(i % 2)
  ;
 else
  printf("%d", i);
0434デフォルトの名無しさん2015/03/05(木) 18:11:29.80 ID:QH4sjdfE
ありがとうございます
0435デフォルトの名無しさん2015/03/20(金) 10:27:58.80 ID:C4XIy6Zr
void mystrcpy(char *to, char *from);
int main(void)
{
char str[80];
mystrcpy(str, "これはテストです");
printf(str);
return 0;
}
void mystrcpy(char *to, char *from)
{
while (*from)
*to++ = *from++;
*to = '\0'; /* ヌルで文字列が終わる */
}

「 ヌルで文字列が終わる」 ヌル文字って、なんで必要なんですか?
0436デフォルトの名無しさん2015/03/20(金) 12:09:15.02 ID:lqHpR73F
終わりを示すマークがくるまではずっと続きますよ
という約束なのが文字列の約束

何故必要か? 文字列であるためには、そういう約束だから
0437デフォルトの名無しさん2015/03/20(金) 15:59:48.11 ID:0fslPpGI
BASICでは先頭に文字数でその後に文字列が続いてたっけ。
0438はちみつ餃子 ◆8X2XSCHEME 2015/03/20(金) 17:30:48.90 ID:zxNcWGv0
MS-DOS の文字列表示ルーチンは $ が終端。
0439デフォルトの名無しさん2015/04/07(火) 14:41:52.97 ID:s4QIRInr
int main()
{
max(100);
max(70);
max(50);
return 0;
}
void max(int d)
{
static int max = 0;
if(d > max)
max = d;
printf("max = %d\n", max);
}
全部0になるはずなのに、ならないのはなんで?
0440デフォルトの名無しさん2015/04/07(火) 15:03:24.16 ID:NM1cRlIv
maxはコンパイル時に0で初期化
その後dを代入してるのでmax == d
0441デフォルトの名無しさん2015/04/07(火) 16:18:30.41 ID:F8K01pe/
変数名と同じ関数名はかんべんして 目がすべる
0442デフォルトの名無しさん2015/04/07(火) 18:27:32.55 ID:s4QIRInr
なんで代入できるの?
0443デフォルトの名無しさん2015/04/07(火) 18:34:58.75 ID:zRL0y0Ru
静的変数でググレ。
0444デフォルトの名無しさん2015/04/07(火) 19:47:29.06 ID:NM1cRlIv
static int max = 0; 
この行はプログラム実行時の最初の一回だけ実行される。
max()を呼んだ時は既に初期化済みで、その行は通らない。
0445デフォルトの名無しさん2015/04/07(火) 19:52:56.64 ID:/U9ZAOiy
>>444
実装としては現実的には実行されるとはいいがたい
0446デフォルトの名無しさん2015/04/07(火) 19:57:58.88 ID:NM1cRlIv
実行…とは言わないか。
0447片山博文MZ ◆T6xkBnTXz7B0 2015/04/07(火) 20:03:03.06 ID:2bTHzj+B
static変数の定義を含む関数が利用(参照)されない場合、そのstatic変数は確保されない。
0448デフォルトの名無しさん2015/04/07(火) 22:14:13.33 ID:+jnVw/lV
ほんとけ?
0449デフォルトの名無しさん2015/04/07(火) 22:53:39.52 ID:Jv2W+PKW
初期化されない、じゃないかなぁ。
0450片山博文MZ ◆T6xkBnTXz7B0 2015/04/07(火) 23:06:35.68 ID:2bTHzj+B
これでファイルサイズを試せ

int f(int i) {
static int a[10000000];
a[i]++;
return a[i];
}
0451片山博文MZ ◆T6xkBnTXz7B0 2015/04/07(火) 23:11:56.93 ID:2bTHzj+B
こうしないとダメか

int f(int i) {
static int a[10000000] = {1};
a[i]++;
return a[i];
}
0452デフォルトの名無しさん2015/04/07(火) 23:28:33.42 ID:NM1cRlIv
static int a[10000000]; と
static int a[10000000] = {1}; では、確保されるサイズは同じだと思うが..
0453はちみつ餃子 ◆8X2XSCHEME 2015/04/08(水) 13:38:35.94 ID:0NyqAI50
違うよ。
前者は内容が不定値で、初期化に使う値が実行ファイル内に保存されない。 メモリ上に同じ大きさが確保されてもファイルサイズには反映されない。
ちなみに0初期化される領域も初期化値を実行ファイルに保存するのではなく、0クリア専用のランタイムルーチンを使うらしい。

てなわけで、処理系の実装上の工夫が色々とあるのでそもそもファイルサイズを見て変数が確保されるかどうかを判断しようとするのが間違い。
0454デフォルトの名無しさん2015/04/08(水) 13:48:58.91 ID:BJMRBHYu
ファイルサイズが違うって事か。
実行時に確保されるメモリサイズは同じだよね。
0455はちみつ餃子 ◆8X2XSCHEME 2015/04/08(水) 14:02:32.29 ID:0NyqAI50
そう。
0456デフォルトの名無しさん2015/04/08(水) 18:59:10.06 ID:TrrKWYIM
>>453
>0クリア専用のランタイムルーチンを使うらしい。
ランタイムというか、OS 内のローダー担当であることが大半でないだろうか‥
0457はちみつ餃子 ◆8X2XSCHEME 2015/04/08(水) 19:50:19.62 ID:0NyqAI50
せやな
0458デフォルトの名無しさん2015/04/10(金) 16:04:47.86 ID:mQuRC+MO
char *str;
で宣言したあとに
scanf("%s",str);
とすると「strを初期化せずに使うな」みたいなエラーが出ます
char str[10];
みたいに配列で宣言するとエラーは出ません

ポインタで宣言した時のと配列で宣言した時のstrは同じ物ではないんですか?
あと値が使われるわけでもなく、入力されるだけなのに初期化しなければいけない必要性がわかりません
誰か教えてください
0459デフォルトの名無しさん2015/04/10(金) 16:10:54.97 ID:28dWQn3h
new mallocつかえ
0460デフォルトの名無しさん2015/04/10(金) 16:19:01.09 ID:28dWQn3h
C言語の初歩の初歩。
char str[10];とchar *str;は別物。
char *strはアドレスを入れるための変数。アドレスを記録するための容量は確保されてるが10バイト分などは確保してない。

これだったらいけるはず。
char str[10];
char *str2;
str2=str;
scanf("%s",str2);
0461デフォルトの名無しさん2015/04/10(金) 22:39:13.59 ID:9kdbIScz
>>458
ポインタ変数である、char* str の strは、
アドレスという数値を1つ格納するだけの唯の変数。

それに * を付けると(*str)、そのアドレスが指し示す先のメモリ
にリンクする「ショートカット」になるだけ、と考えると分かり易いかな。

Windowsでショートカットファイルをダブルクリックしたらその先のファイルが開くようなもので
そうすると当然、指し示す先のファイルパスが設定されていないショートカットは「使えない」
というのが分かるよね?
0462デフォルトの名無しさん2015/04/10(金) 22:50:25.12 ID:9sVpyOtZ
>>458
>strを初期化せずに使うな
それは多分おせっかいな警告機能で、どんなコンパイラでもそうなるとは期待してはいけない

>ポインタで宣言した時のと配列で宣言した時のstr
は別ものだ、そう思い込んだほうがいい

なお蛇足だが C で配列の名前を単独で使うときは意味が変わる(この部分だけ直交性を失っている)
0463デフォルトの名無しさん2015/04/24(金) 11:12:04.16 ID:f3vcgjob
if (scanf("%d", &v) != 1)
この1って何?
0464デフォルトの名無しさん2015/04/24(金) 11:21:00.79 ID:NRswMTwP
scanf の戻り値は、フォーマットに従い変数に代入した個数

1変数ならまあ好きに書けば良いけど
2変数以上の時に間違わないよう習慣付けているのかもしれない
0465デフォルトの名無しさん2015/04/24(金) 12:17:49.38 ID:f3vcgjob
意味がわからん・・・orz
0466デフォルトの名無しさん2015/04/24(金) 12:24:53.38 ID:NRswMTwP
入力文字がアルファベットしかなくて vに整数をつっこんでねーよ って時は
1 にならない
0467デフォルトの名無しさん2015/04/24(金) 13:27:44.24 ID:f3vcgjob
>>466
ありがとうございます
0468デフォルトの名無しさん2015/09/14(月) 15:55:47.87 ID:xWDGmwXQ
C言語初心者です。
windows7
MinGWのgccバージョン4.8.1です。

/*スタート*/
#include <stdio.h>
int main(void){
float pai,r,s;
printf("半径を入力してください=");
scanf("%f&r");

pai=3.14159;
s=pai*r*r;

printf("面積は%fです\n",s);
return 0;
}
/*終わり*/

円の面積を求めるプログラム作りました。コンパイルするのはうまくいくんですが、実行して半径を入力すると○○○.exeは動作を停止しました。とエラーダイアログが表示され結果が出力されません。
何が原因でしょうか?
0469デフォルトの名無しさん2015/09/14(月) 16:17:23.72 ID:EUIVB/8j
>>468
scanf("%f&r");
ではなくて、
scanf("%f",&r);
0470デフォルトの名無しさん2015/09/14(月) 16:23:27.10 ID:hfKV6tF/
よくわからんけど、gcc 拡張の警告でチェックしてくれんの?
フォーマット文字列 と 渡した引数数の不一致
0471デフォルトの名無しさん2015/09/14(月) 16:56:53.27 ID:EUIVB/8j
>>468
のプログラムをgcc 4.8.1でコンパイルしたら
エラーメッセージは出なくて、実行したら
当然ながら、面積の値が0.000000と誤まった
値が出てきた。
エラーメッセージが出ないのが不思議。
オプションを付ければ、エラーメッセージがでるのだろうか
0472デフォルトの名無しさん2015/09/14(月) 18:33:12.41 ID:92FX1eX2
int scanf(const char *format, ...)

int printf(const char * restrict format, ...);

そういうことで。
0473デフォルトの名無しさん2015/09/14(月) 19:00:53.16 ID:xWDGmwXQ
>>469
ありがとうございます。
実行することができました。
0474デフォルトの名無しさん2015/09/27(日) 07:27:17.58 ID:9nB30GXC
>>471
stdio.hを追っかけていけば、
int scanf(const char *format, ...);
int printf(const char *format, ...);
のようにprintfと同じ形であることがわかる。
printf("hoge");
がエラーでないように
scanf("hoge");
もエラーとはならない。
ただgccは賢くて -Wall をつけると、
formatの中身を解析して警告を出してくれる。(printfも同様)
0475デフォルトの名無しさん2015/10/22(木) 06:08:18.70 ID:T7RJ3QRI
googleでgccのコンパイルオプションについて検索すると
検索結果がゼロになることが何度かあった

ちなみに
gcc -オプション名
みたいな感じ検索してた

どうもman gccの最初の数ページしかgoogleに登録されてないっぽい挙動なんだが
0476はちみつ餃子 ◆8X2XSCHEME 2015/10/23(金) 02:42:54.65 ID:+vqb9bZy
google で検索キーワードの前にマイナス記号がついてると、
そのキーワードを含む検索結果を除外する (いわゆるマイナス検索) ようになってるので、
オプションについて検索するときは気をつけような。
0477デフォルトの名無しさん2015/10/25(日) 01:00:53.79 ID:KG2IWWVY
数か月前にgoogleで
gcc version-script
gcc bsymbolic-functions
gcc fvisibility
で-抜いて検索しても検索結果ゼロだったのに
今見たら検索結果でるようになってる
0478デフォルトの名無しさん2015/10/25(日) 01:10:23.08 ID:KG2IWWVY
gcc bsymbolic-functions

stackoverflow
ばっかりでgcc本家の
https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html
が出てこないのは今も同じ

単にstackoverflowの質問が増えたからgoogleに引っかかるようになった?
0479デフォルトの名無しさん2015/11/26(木) 03:09:04.34 ID:/vQLcmuc
そろそろC言語初心学習者に、もっとも最適な書籍を決めてください

柴田本? 苦C? 林本? やさC?
0480デフォルトの名無しさん2015/11/26(木) 19:35:30.69 ID:AipKzKjF
K&R。プログラミング自体初心とかの特殊な人は知らん
0481Office & Gamers @ 試験運用中(トリなしw2015/11/27(金) 00:49:18.33 ID:ZPXTuq1n
>>479
DarkGDKをお勧めするよw
0482デフォルトの名無しさん2015/11/27(金) 01:11:07.20 ID:Bpp9Chxs
>>479
C言語は、アセンブリ言語を操れる人にとって簡単に使えるように出来ている。
なのでアセンブリ言語関係の本を先に読むべき。

# ジョークだよ?
0483デフォルトの名無しさん2015/11/27(金) 07:25:23.09 ID:AzpW+bBE
苦CのWeb版はここの人達には不評だった記憶が
0484デフォルトの名無しさん2015/11/27(金) 13:07:54.19 ID:v+FwdFGc
まあ柴田本だろうな、定評がある
0485:デフォルトの名無しさん2015/11/27(金) 14:59:10.21 ID:NDUaqi7o
学校の課題でc言語でゲームを作るんですが作りやすいものとかないですか?
0486デフォルトの名無しさん2015/11/27(金) 15:25:49.55 ID:OSV5eH1L
文字だけで作れるのにしとけ。じゃんけんとか。
0487デフォルトの名無しさん2015/11/27(金) 16:47:57.00 ID:bNIHHiC+
>>485
純粋にCだけでってなると数当て(乱数適当に作っておいて、値を受け取って小さいか大きいかを表示する)なんかも
作り易いと思う。
あとはフルハウスやババ抜きなんかのターン制のカードゲームとか
もっと面倒なのだと数独やオセロなんかの平面に文字を並べればなんとなくそれっぽく見える感じのゲームは作れうるかな
0488デフォルトの名無しさん2015/11/27(金) 22:06:34.99 ID:gCXolRmC
>>486
>>487
ありがとうございます
0489デフォルトの名無しさん2015/11/28(土) 06:52:13.32 ID:3W8Apw0w
なぜ学校でプログラミングをやるのか?
なぜCを使うのか?
目的と手段を履き違えてないか?
0490デフォルトの名無しさん2015/11/28(土) 09:16:20.61 ID:dfErn7u5
      ィ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;゙t,
     彡;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ヽ
     イ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;r''ソ~ヾ:;;;;;;゙i,
     t;;;;;;;リ~`゙ヾ、;;;;;;;;;;;;;;;;;;;;ノ    i,;;;;;;!
     ゙i,;;;;t    ヾ-‐''"~´_,,.ィ"゙  ヾ;;f^!   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     ト.;;;;;》  =ニー-彡ニ''"~´,,...,,.  レ')l. < >489 おまえは何を言っているんだ
     t゙ヾ;l   __,, .. ,,_   ,.テ:ro=r''"゙ !.f'l.   \____________
      ヽ.ヽ ー=rtσフ= ;  ('"^'=''′  リノ
    ,,.. -‐ゝ.>、 `゙゙゙゙´ ,'  ヽ   . : :! /
 ~´ : : : : : `ヽ:.    ,rf :. . :.: j 、 . : : ト、.、
 : : : : : : : : : : ヽ、  /. .゙ー:、_,.r'゙: :ヽ. : :/ ヽ\、
  :f: r: : : : : : : : !丶  r-、=一=''チ^  ,/   !:: : :`丶、_
  : /: : : : : : : : :! ヽ、  ゙ ''' ''¨´  /   ,i: : : l!: : : : :`ヽ、
 〃: :j: : : : : : : ゙i   `ヽ、..,,__,, :ィ"::   ,ノ:: : : : : : : : : : : :\
 ノ: : : : : : : : : : :丶   : : ::::::::: : : :   /: : : : : : : : : : : : : : : :\
0491デフォルトの名無しさん2015/11/28(土) 13:32:57.54 ID:Iy/WtbZ6
>>489
目的はこの支配からの卒業
手段は課題消化
0492デフォルトの名無しさん2015/11/29(日) 10:21:55.35 ID:U49gaUJj
面白い奴だな、気に入った。殺すのは最後にしてやる
0493デフォルトの名無しさん2015/12/03(木) 20:54:34.92 ID:mCOP4ysm
0494デフォルトの名無しさん2015/12/23(水) 15:06:50.61 ID:1ZCzEE1G
メジャーなコンパイラにはなんで実行ファイルの難読化オプションがないんだろうか。
デマングリング不可の関数ラベル名を生成するだけでも相当な難読化になると思うのだが。
0495デフォルトの名無しさん2015/12/23(水) 15:26:26.49 ID:ydhwYjA+
リリースするときはふつうstripするだろ。
0496デフォルトの名無しさん2015/12/23(水) 19:22:20.46 ID:MJdV8aRk
C/C++ に難読化はいらないよ‥
0497デフォルトの名無しさん2016/01/17(日) 00:06:26.42 ID:0aBE1GLW
本格的な文字列処理を行う場合、内部コードはUTF-16に統一するのが常識なのだろうか。
あと最近はユニコード扱う場合はchar16_t使うのが主流になってたりする?
0498デフォルトの名無しさん2016/01/17(日) 08:38:01.80 ID:8TKcXYcp
どちらかというと UTF-8
0499デフォルトの名無しさん2016/01/17(日) 09:16:37.12 ID:Tm1vTqdo
なにかのライブラリ使うならそのライブラリが対応しているエンコーディング使えばいいが、
自前で文字単位の処理やるならマルチバイトよりワイド文字のが楽でしょ。
内部的には結局コードポイントの単位で扱うだろうし。
「本格的な」の内容がUNICODEに定義されたすべての文字を扱えるということを含むなら
UTF-32、基本多言語面だけで十分ならUTF-16でいいだろう。
0500デフォルトの名無しさん2016/03/06(日) 11:31:35.36 ID:g15wMUfE
文字単位が大方2バイトと決まってるUTF16使うのが一番楽。

unsigned short ch = u"あa";
ch[0]; // 'あ'
ch[1]; // 'a'

UTF-8ではこうは行かない。
0501デフォルトの名無しさん2016/03/06(日) 13:48:20.66 ID:us3JIMiG
EUCの美しい世界を凶人達が破壊した。
0502はちみつ餃子 ◆8X2XSCHEME 2016/03/07(月) 02:47:20.91 ID:ERCs3bA6
>>500
その「大方」がつらいんよ。
自分しか使わないプログラムとかなら手抜きしてそういうのでもいいと思うけど。
0503デフォルトの名無しさん2016/03/07(月) 21:17:49.24 ID:uXN+Q7bH
たいてい「このアプリはBMPまでしか対応しません」で困らん。
0504デフォルトの名無しさん2016/03/14(月) 08:45:36.58 ID:e10e4Y4Q
if(argc>3|||!strcmp(argv[1],"/?")||strcmp(argv[1],"-?"))
/? と-? て、どういう意味?
0505デフォルトの名無しさん2016/03/14(月) 09:45:39.70 ID:qOCQ0PgP
>504
そのまま。特別に変換するわけでもない文字列。

コマンドラインアプリで引数にヘルプオプション指定されてるか調べてると思われる。


>aaa.exe /?
>aaa.exe -?
0506デフォルトの名無しさん2016/03/29(火) 09:35:20.91 ID:/c8bAcK4
サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ
https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん
サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー
ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足
サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題
春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残
コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題
マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス
FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了
校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント
高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート
0507デフォルトの名無しさん2016/09/01(木) 10:06:22.99 ID:xECgA5Px
C++ならクラス作ってクラスの操作関数を多数登録できますが、Cの構造体で同じことをやろうとしたらどう書くのでしょうか?
0508デフォルトの名無しさん2016/09/01(木) 10:41:00.85 ID:FY85t8sS
構造体に関数ポインターをもたせる
第一引数は構造体のポインター
05095072016/09/01(木) 14:04:29.32 ID:xECgA5Px
>>508
なるほど、そういうやり方なんですね!ありがとうございます。
0510デフォルトの名無しさん2016/09/01(木) 18:18:48.62 ID:L4FyPA9F
FILE と f〜関数郡の関係で
0511デフォルトの名無しさん2016/09/01(木) 20:46:50.70 ID:8Xtys+zE
>>508
構造体に関数ポインタ持たすの意味なくね?
0512デフォルトの名無しさん2016/09/02(金) 14:03:28.83 ID:Z98P2xof
int main(){

char a[20];

char b[20];



scanf("%[^abc]", a);

printf("a[] = %s\n", a);

scanf("%s", b);

printf("b[] = %s\n", b);



return 0;

}
2回入力できないのは、なんで?
0513デフォルトの名無しさん2016/09/02(金) 16:55:30.86 ID:Z0wyfFLe
ネットから拾ってきたソースを参考にしています。
2つのファイルをマージして、コードからメッセージを参照するハッシュリストを
なのですが、どうも無限ループに陥ってしまっているようなのです。

hashlist_lookupのwhile脱出条件であるNULLをhashlist_add内で
セットしなければいけないのはわかるのですが、どのようにすればいいのでしょうか?
05145132016/09/02(金) 16:55:55.38 ID:Z0wyfFLe
メインはこのようになっております(関連部分だけの抜粋です)
static struct hashlist message_list;

ハッシュリストの作成部分
 hashlist_create( &message_list, 2048, 682 );

マージしてハッシュへ登録部分
  if( src1id == src2id ) {
   src1ptr += 7 + src1len;
   src2ptr += 7 + src2len;
   hashlist_add( &message_list, src2id, destptr );
  } else
  if( src1id > src2id ) {
   src2ptr += 7 + src2len;
   hashlist_add( &message_list, src2id, destptr );
  } else {
   src1ptr += 7 + src1len;
   hashlist_add( &message_list, src1id, destptr );
  }

ハッシュリストを参照する部分(hashlist_lookup内で無限ループ)
 struct hashnode* node = hashlist_lookup( &message_list, message_id );
 return node ? (char*)node->info : "(null)";
0515デフォルトの名無しさん2016/09/02(金) 16:56:34.44 ID:Z0wyfFLe
以下、ハッシュ関連
struct hashnode {
 struct hashnode* next;
 u32 keycode;
 void* info;
};

struct hashlist {
 struct hashnode* current;
 struct hashnode** table;
 int current_table;
 struct memblock memblock;
 int tablesize;
 int n_items;
};
05165132016/09/02(金) 16:57:38.59 ID:Z0wyfFLe
void hashlist_create( struct hashlist* _list, int _tablesize, int _bufsize )
{
 memblock_create( &_list->memblock, sizeof(struct hashnode), _bufsize );
 _list->table = (struct hashnode**)xmalloc( sizeof(struct hashnode*) * _tablesize );
 _list->current = _list->table[0];
 _list->tablesize = _tablesize;
 _list->current_table = _list->n_items = 0;
 memset( _list->table, 0, sizeof(struct hashnode*) * _tablesize );
}
struct hashnode* hashlist_add( struct hashlist* _list, u32 _keycode, void* _info )
{
 struct hashnode* node = (struct hashnode*)memblock_alloc( &_list->memblock );
 node->keycode = _keycode;
 node->info = _info;
 node->next = _list->table[_keycode % _list->tablesize];
 _list->table[_keycode % _list->tablesize] = node;
 _list->n_items++;
 return node;
}
struct hashnode* hashlist_lookup( struct hashlist* _list, u32 _keycode )
{
 struct hashnode* node = _list->table[_keycode % _list->tablesize];

 while( node ) {  //ここで無限ループ
  if( node->keycode == _keycode )
   return node;
  node = node->next;
 }
 return NULL;
}
0517デフォルトの名無しさん2016/09/02(金) 21:52:40.48 ID:96M6CE+e
>>512
scanf() の [...] 変換指定子なんて初めて見たよ。
調べたところ、以下のような動作をするみたいね。

scanf("%[^abc]", a);
配列aには a, b, c 以外の文字が入る
(入力文字列の先頭から a か b か c の直前までをaに格納)

上の入力で配列aに格納されなかった分はバッファに残る

scanf("%s", b);
すでにバッファに入っている内容を配列bに格納して関数終了
(配列aへのscanf()を終了させたa, b, cから始まる文字列が待機してるはず)


というわけで入力操作は、
a, b, c を含まない間は scanf("%[^abc]", a); が完了しない
scanf("%[^abc]", a); が完了したら、その途端に scanf("%s", b); も完了
0518デフォルトの名無しさん2016/09/02(金) 23:01:39.58 ID:XSBirivx
scanfのスキャン集合はよく使われる機能だよ

>>512
2回入力、というのは改行キー(エンターキー)を押して2回入力した、という意味で
使ってるんだろうけど、スキャン集合を使うと改行も入力文字として扱うようになるから、
つまり改行キーがエンターするキーではなくなってるのが、理由。

ttyのcookモードの観点では依然改行でエンターだけど、まあそれは別の話


>>514
引用の範囲は問題ない
http://codepad.org/yoBUyHMg
05195132016/09/03(土) 00:17:02.45 ID:tOiz1lLB
>>518
返信有難うございます
他の部分の調査を行ってみます
お手数をお掛けしてすみませんでした
0520デフォルトの名無しさん2016/09/06(火) 10:32:29.57 ID:6Lg2ZIDg
>>511
常套手段だが
0521デフォルトの名無しさん2016/09/07(水) 01:06:00.69 ID:7cFIJKpv
>>520
いやいや>>508の前提では意味ないと思う。
逆に聞きたいんだが、どういうふうに使うのか、もしくはどんな利点があるのか、教えてくれたら嬉しい。
0522デフォルトの名無しさん2016/09/07(水) 03:52:15.46 ID:rkt8kSNa
>>521
用途は質問趣旨でメソッド風に使う。
利点は質問者なりにあるんじゃないの。
何故無意味と思うのか具体的に書かないと誰も答えられないと思う。
0523デフォルトの名無しさん2016/09/07(水) 04:19:21.31 ID:OeU2hxT4
>>522
そのイメージがわからないから、コードでいいので具体例を示してくれない?
すごい単純なので良いので。
本当にイメージ出来ないんだ。
0524デフォルトの名無しさん2016/09/07(水) 04:51:02.27 ID:rkt8kSNa
>>523
イメージがわからないけれど、無意味とは判ったのですか。。。
0525デフォルトの名無しさん2016/09/07(水) 06:06:44.59 ID:WnjFqmId
ひょっとして
「インスタンスには関数ポインタじゃなくてクラス定義へのポインタを持たせろよ」
的なこと?
0526デフォルトの名無しさん2016/09/07(水) 07:38:40.63 ID:zmxBwCSk
ふつう、インスタンスが違っても関数の定義は一つなので、インスタンスのポインタだけでいいよね。
0527デフォルトの名無しさん2016/09/07(水) 07:38:43.48 ID:9ei6Qh2k
構造体に関数ポインタを持たせれば、
インスタンスごとに関数の実体を変更できる。
C++でのオーバーライドに相当する使い方。

というのはどうかな。コード示せなくて悪いけど。
0528デフォルトの名無しさん2016/09/07(水) 12:48:44.31 ID:iiQuAO1E
普通にメンバ関数なワケだが
0529デフォルトの名無しさん2016/09/07(水) 12:58:06.08 ID:sjjNPEW0
ip->func(ip, ほかの引数...)
仮想関数を実現するときぐらいで静的に確定してるなら

func(ip, ほかの引数...)
で十分だよね
0530デフォルトの名無しさん2016/09/07(水) 13:56:17.35 ID:8SeVjemL
そこで>>510になるわけやね
0531デフォルトの名無しさん2016/09/07(水) 15:38:13.08 ID:9ei6Qh2k
>>530 を見るまで >>510 の意図を把握できなかったよ。
そういう意味だったのか。
0532デフォルトの名無しさん2016/09/07(水) 17:47:11.67 ID:WnjFqmId
ip->func( ip)
に対応するのは
func_of_some_class( ip)
だよ。ネームスペースが違うんだよ。
自分がそうしないから無意味というような考え方はあまり楽しくないと思うよ。
0533デフォルトの名無しさん2016/09/08(木) 07:41:02.42 ID:3Ilyk05I
Cなんだから、単純に構造体に識別子を持たせるだけでいいね
0534デフォルトの名無しさん2016/09/08(木) 13:59:52.33 ID:DkcrHcSi
>>507
まだ見てる?
func_of_some_class( obj)
よりは
obj->func( obj)
の方が嬉しいだろうけど、関数が多いと *obj が大きくなる。もう気づいてるよね?
それが問題になるようなら関数ポインタのための構造体を1個だけ用意して
some_class . func( obj)
という方法もある。でも、あまり嬉しい書き方ではないだろうね。
そこで、この構造体を指すポインタを *obj に入れて
obj->f->func( obj)
みたいな感じでどうだろう。これなら *obj の大きさはポインタ1個分増えるだけだし
obj->func( obj)
と同様にコードの再利用性も高い。まあ、C で簡単にやりたいなら多少は妥協も必要だけど。
0535デフォルトの名無しさん2016/09/08(木) 14:27:27.18 ID:bBLHyk+n
getsって危険な関数って書いてあったけど
putsとputcharって、危険ですか?
0536デフォルトの名無しさん2016/09/08(木) 14:40:32.90 ID:4cuZJI/Y
>>535
包丁と同じくらい危険だ慎重に扱え
0537デフォルトの名無しさん2016/09/09(金) 15:30:42.88 ID:psvqqBYg
すまない、ちょっとお尋ねします

debian lenny なんつー古い環境で開発せざるを得ない中、C++で「unsigned long long」型を使おうとしてるんだけど
16ビットずつシフトさせていくと、32ビットを超えた部分が消えてしまう

a = 0x00000000ffffffff;
a << 16;
→ 0x00000000ffff0000

こんな感じ、本来なら0x0000ffffffff0000になるはずだが…
環境変えろは分かるんだが、以前のgccでそんなバグの事例があったかどうかが知りたいです
0538デフォルトの名無しさん2016/09/09(金) 15:31:49.25 ID:psvqqBYg
a = a << 16;

のミス
0539デフォルトの名無しさん2016/09/09(金) 16:12:01.48 ID:6+5PcORv
>>537
ULL付けてみては?
0540デフォルトの名無しさん2016/09/09(金) 16:22:48.10 ID:RCn4M+As
>>537
配布済みパッケージならgcc 3.4, 4.1, 4.2, 4.3があるけど
少なくても 4.3.2 にはそんなアホみたいなバグは無い
http://ideone.com/qN9OJV

とはいえdebian lennyだろうと好きなバージョンのgcc突っ込んで使えばいいと思う
0541デフォルトの名無しさん2016/09/09(金) 16:42:47.15 ID:wq6Y1YQc
>>539
原因が分かりました…
画面にprintf出だしてたんだが、0x%016x にしてたんが問題やった
0x%016llx でちゃんと表示された!コードら正しかった!

お騒がせしました
0542デフォルトの名無しさん2016/09/09(金) 16:43:32.39 ID:wq6Y1YQc
コードは、のミス

というオチ
0543デフォルトの名無しさん2016/09/09(金) 16:44:34.37 ID:wq6Y1YQc
gdbも使えない環境なのはきついね…
gccだって指定されてるから変えらんないのですわ
0544デフォルトの名無しさん2016/09/09(金) 17:28:48.58 ID:EcclX7iE
>>541
いかにも「うっかり間違えそうな人」が書いた投稿だね。
よほど慌ててるのか。

cppcheck を試したらどうだろう。
printf() の書式文字列と引数の型の一致もチェックしてくれるよ。
0545デフォルトの名無しさん2016/09/09(金) 22:50:01.23 ID:YD15XtYf
>>544
俺です
たしかにちとパニクってしまった一連の流れではある

まぁこのあとにディストリビューション更改が決まってはいるので、できうる限り俺が主導権握って
いろいろ決めてしまおうかと思ってる
0546デフォルトの名無しさん2016/09/24(土) 00:27:12.41 ID:V/nU9HG+
【ワカヤマン】C言語プログラミング能力認定試験 [無断転載禁止](c)2ch.net
http://hanabi.2ch.net/test/read.cgi/lic/1454165737/
0547デフォルトの名無しさん2017/02/13(月) 13:19:57.17 ID:zKvRiyms
int tensu[3]

for(i = 0;i < 3;i++)
scanf("%s %d %d",tensu[i],tensu[i],tensu[i]);
printf("%s %d %d", tensu[i],tensu[i],tensu[i]);

超初心者です
配列がわかりません
文字列を混ぜる場合、どうすればいい?
田中 59 46
0548デフォルトの名無しさん2017/02/13(月) 18:24:09.42 ID:qWBqE6jZ
char namae[3][128];
int tensuu1[3], tensuu2[3];
for(i = 0;i < 3;i++)
scanf("%s %d %d",namae[i],tensuu1[i],tensuu2[i]);
printf("%s %d %d\n", namae[i],tensuu1[i],tensuu2[i]);
0549デフォルトの名無しさん2017/02/13(月) 18:24:30.93 ID:qWBqE6jZ
char namae[3][128];
int tensuu1[3], tensuu2[3];
for(i = 0;i < 3;i++)
scanf("%s %d %d",namae[i],&tensuu1[i],&tensuu2[i]);
printf("%s %d %d\n", namae[i],tensuu1[i],tensuu2[i]);
0550デフォルトの名無しさん2017/02/14(火) 10:45:01.92 ID:OJnhURbN
ありがとうございました
0551デフォルトの名無しさん2017/02/21(火) 13:48:04.12 ID:xcI3fiLi
int lang[3][2]
hound dog
to zu
no nein

2次元配列だけど、scanf使ってこんな感じで
入力したいけど、どうすればいい?
0552デフォルトの名無しさん2017/02/21(火) 20:50:18.85 ID:5LKZ7kHG
>>551
scanf は使うな、以上!
0553デフォルトの名無しさん2017/02/21(火) 20:59:16.35 ID:mvy681QG
intの配列に文字列を入れる?
0554デフォルトの名無しさん2017/02/22(水) 13:18:23.31 ID:CP6clVVD
察しろよ
0555デフォルトの名無しさん2017/02/28(火) 06:13:03.57 ID:v3f7r1+L
C言語でゲラフィック液晶動かしてみたいんだが、簡単に動かせるツールみたいなのある?
0556デフォルトの名無しさん2017/02/28(火) 11:35:55.45 ID:VXdjceYe
                   ___
             ♪ ∩/ || ̄ ̄||♪ ∩∧__,∧
               _ ヽ|.....||__|| 7 ヽ( ^ω^ )7 ゲラフィック♪
               /`ヽJ   ,‐┘/`ヽJ   ,‐┘   ゲラフィック♪
| ̄ ̄\三  / ̄ ̄ ̄/  ´`ヽ、_  ノ   ´`ヽ、_  ノ
|    | ( ./     /      `) ) ♪    `) ) ♪
0557デフォルトの名無しさん2017/02/28(火) 11:50:53.30 ID:LbkfB2Bz
ロボットアーム的なツールは探せばあると思う
0558デフォルトの名無しさん2017/02/28(火) 12:51:03.03 ID:lnb6cxke
DENSOの奴はC言語のインターフェースあったかな・・・
新着レスの表示
レスを投稿する