実際の入力元はキーボードだったり、ファイルだったり、 try { 具体的には以下の二つのプログラムの差異についてです。 以前は全てCPUで計算していたので、精度=計算量でした。 char buf[5]; ただ、大抵"aaaaa"は固定値を入れるために書き込みができないメモリーに格納されています。 toi2.c:8: warning: assignment from incompatible pointer type g.drawString("あなた",800,300); while(fscanf(fpd,"%s",com_input_buf)!=EOF){ たとえ、絶対にIOエラーが発生しないストリームだとしても。 q[0] = ((a[0] << 2) | (a[1] >> 4)) & 0xff; とすればよいでしょう。 } ・strstr()で文字列が見つからなかったとき、pの値はNULLになります。その状態でstrcmp()を実行すると... タイトル通り、int型からchar型への変換の仕方がわかりません!>< 「キーボードが故障しているのかもしれません」というのは、 p=strstr(com_input_buf,shiri_word); int a; int main(void) を呼び出して、標準入力を変えてしまうことができますし、 COMとユーザの対話型しりとりプログラムです。コンパイルエラーは出ないのですが、実行すると動作が停止します。問題は「しり文字と一致する単語(すべて日本語です)を辞書ファイル(txtファイル)から探す関数」内にあることが分かっていま public class janken extends Applet fclose(fpd); a[0] = strchr(b64, p[0]) - b64[0]; state = true; if(index2 == 0) msg="あなたの勝ち"; #include "stdafx.h" 全角1文字につき3バイトだった*/, /*最後の文字が「ん」でない場合、その文字と同じ名前のファイルから      ランダムに単語を取り出す*/. } ---------------------- (ユーザー先攻:ランダムで最初の一文字を決める) int index2 = 0; ではなぜ、try-catchを書かなくてはいけないのか? ・strstr()で文字列が見つからなかったとき、pの値はNULLになります。その状態でstrcmp()を実行すると... c言語の問題なのですが、2つの異なる1次元配列の積をseki関数を使って計算してもうひとつの配列に入れてmain関数で表示するのですが、うまく走りません原因がわかる人がいた教えてください。 2Dゲームを作っててdoubleの変数を使ってたんですが使ってはだめだと先輩に言われたんです。 ここの49は49文字まで入力するという意味です。addressが50文字までしか格納できないので、最後のナル文字の分を除いて49文字まで入力できるようにしています。もし50文字以上入力しようとすると、残りはちょん切れます。 b64の型は、charの配列型です。 データを読み取る際は常に 8行目:pb=&b; char *str[] = {"abc", "def", "ghi", "jkl"}; と宣言されています。 seki(pa,pb,pc); } ・回数はCOMの単語が尽きるまで(その場合、ユーザーの勝利) となっているようです By following users and tags, you can catch up information on technical fields that you are interested in as a whole, By "stocking" the articles you like, you can search right away. return; while(getchar() != '\n') ;  C言語を使い始めてそろそろ10年になりますが、sprintf をこんなふうに使おうとは思いもしませんでした(^_^; memset(RtnBuf, 0, length+1); printf("%d,",*(pc+i)); repaint(); else if(index1 == 2) { char c; ・単語の引用方法 と書いてあります。 g.drawString("コンピューター",420,300); gets( buf ); しかし、最近では浮動小数点演算専用の回路が付いているケースが多く、計算時間は同じだったり、doubleに変換が必要でその分floatの方が遅かったり、floatでの演算はより高速...続きを読む, 当方c言語初学者なのですがscanfを使ってポインタに文字列を入力したいのですがバグが発生して進みません・・・どういうことなのでしょうか? int i,*pa,*pb,*pc; 以下にコードを示します。, ここで気になっているのは、登録は1つずつ"a"でファイルの追加書きこみをしていきたいので、entryの関数で変数nを使って2次元配列にする意味はなさそうだけれど、viewの関数ではまとめて閲覧したいので変数nなどが必要だということです。この場合どのように書けばいいのでしょうか。, <実行結果> は、たぶん、マイナスの両側で型が違っていることを q[2] = ((a[2] << 6) | a[3]) & 0xff; String msg1 = ""; } private static final int EXTERNAL_BUFFER_SIZE = 128000; 1, 回答 取得するにはどうすれば良いのでしょうか? ハード(キーボード)が故障しているのを Java のプログラムのレベル(ソフトウェア)で感知できるというのがよくわかりません。「 if(p==NULL){p='\0';} InputStreamやBufferedReaderは、 Cのmath.hで使える標準関数はdouble型のものがほとんどです。三角関数は2Dのゲームでも使う機会が多いのではないでしょうか。sinもcosもdouble型です。内部演算は当然doubleですので、変数にfloatを使ったからと早くはならず、むしろfloat型の変数に入れるときに暗黙の型変換が発生する分遅くなる可能性もあります。 int i; ------------------------ どうしたらいいのでしょうか?. getc()で1文字読み込んだ後にファイルポインタが一文字文進んだ場所を指すので、fscanfで文字列を読み込む際に、最初のひらがなの先頭バイトが欠落した状態で読み込まれるため文字化けが発生しています。 C言語規格でも、ポインタ同士の引き算のところは char c; g.drawImage(img[index1],350,30,this); というわけで、ちゃんとメモリーを確保してからscanfで書き込みましょう。ポインターはあくまでどこかのメモリーアドレスを指すだけで、指した先がちゃんと確保されているかどうかは知りませんから。, ポインターというのは格納された値のアドレスのメモリーを指すための変数です。 scanf("%s", str); といった具合でしょう, 以下のようなじゃんけんゲームのプログラムを書いたのですが、「シンボルが見つかりません。」というエラーが表示されるのですが、エラーの意味が理解できず、解決できません。どこが間違っているのか教えていただけませんか。 引数は第1引数がデコード対象の文字列、第2引数がデコード対象文字列長、第3引数がデコード後の文字列長で、戻り値がデコード後の文字列です。, 自己啓発で入力文字列をBASE64デコードする関数を作っているのですが、L20~L23(a[0] = strchr(b64, p[0]) - b64;)でコンパイルエラーinvalid operands to binaryが発生して色々試行錯誤しているのですが、どうしてもエラーがとれません。 if(in[0]=='n') int index1 = 0; msg = "ちょき"; start(); for(i=0;i<11;i++) no = 10; void main() 他のデータが存在しているかもしれない領域を書き換えてしまいます。(メモリ破壊) ・終了後に使用した単語数のカウント http://msdn.microsoft.com/ja...続きを読む, ※各種外部サービスのアカウントをお持ちの方はこちらから簡単に登録できます。 2. mallocなどでヒープにメモリーを確保する方法。 登録は問題なくできるようですが、閲覧の際に最初と最後の文字化けが発生します。ファイルの中身は文字化けしていません。, 別の文字でもファイルを登録してみます。新しい方のファイルを閲覧すると、前につくったファイルの中身がくっついて表示されました。しかし、ファイルの中身自体にやはり問題はありません。, 実際にしりとりをしてみると、間違ったファイルが選ばれています。見にくくてすみません。れあ、すいえい、いさかいを手打ちしました。最初の文字に判定はいれていないのでこれで問題ないはずです。「ん」を入力するとbreak;できています。, 「あ」や「い」という異なるファイルを同じ配列で開いたことで起きてしまった現象なのでしょうか。改善策を知りたいです。よろしくお願いします。, teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。, 評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。, 上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。, でwhileの条件式でgetc()でEOFチェックを入れているのが原因です。