ベストアンサー 初心者なのでご勘弁を! 2001/05/22 12:32 馬鹿な質問かもしれませんが、C言語で|a+b|<=cを入力してコンパイルし、 実行しようとしてもエラーが出て実行できません。C言語では絶対値のプログラム は存在しないのでしょうか?もし存在するなら教えてください。 みんなの回答 (6) 専門家の回答 質問者が選んだベストアンサー ベストアンサー madman ベストアンサー率24% (612/2465) 2001/05/22 12:37 回答No.1 abs(a+b)で絶対値が取れます。 質問者 お礼 2001/05/23 11:20 回答ありがとうございました。おかげさまで無事解決しました。 今後ともよろしくお願いします。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 その他の回答 (5) jun_l ベストアンサー率18% (4/22) 2001/05/23 06:29 回答No.6 質問の内容とは関係ないのですが、 もうすこしタイトルのつけ方に気をつけたほうがいいと思います。 今回の質問ならば「絶対値を使用できません」など 質問の内容がわかりやすいものがいいと思います。 初心者というのは本文の最後にでもちょこっと書いておけばいいことですから。 偉そうなこと言ってすいません。 質問者 お礼 2001/05/23 11:38 偉そうなことだなんてとんでもないです。以後気を付けます。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 leaz024 ベストアンサー率75% (398/526) 2001/05/22 21:08 回答No.5 もう回答の必要はないと思いますが、老婆心ながら。。。 NINJA104さんのおっしゃるように、絶対値程度のものなら、マクロを使った方が関数を使うよりも高速で手軽です。 ただ、 ABS(a++); などとしてしまうと、マクロの副作用で結果が不明(処理系によって結果が異なる)なので注意が必要です。 C++などならインライン関数があるので、こんな問題ないのですが。 質問者 お礼 2001/05/23 11:34 アドバイスどうもありがとうございました。以後参考にさせて頂きます。 今後ともよろしくお願いします。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 NINJA104 ベストアンサー率43% (133/306) 2001/05/22 14:05 回答No.4 絶対値を求める関数 ~abs系 を使用し、先述の方々の様に用いるのが正攻法?ですが、いちいち変数の型を気にしなければならないので、私の場合は以下の様なマクロ関数を定義して使っています。 #define ABS(c) (((c)<0)?-(c):(c)) 参考まで。 質問者 お礼 2001/05/23 11:31 アドバイスどうもありがとうございました。以後参考にさせて頂きます。 今後ともよろしくお願いします。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 leaz024 ベストアンサー率75% (398/526) 2001/05/22 13:22 回答No.3 a+bの型によって、関数を使い分ける必要があります。 実数なら double fabs(double x); math.h 整数なら long labs(long n); stdlib.h int abs(int n); stdlib.h 質問者 お礼 2001/05/23 11:27 アドバイスどうもありがとうございました。以後参考にさせて頂きます。 今後ともよろしくお願いします。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 ametsuchi ベストアンサー率31% (81/257) 2001/05/22 12:48 回答No.2 abs()は整数型なので、もし、a,b,cが実数値なら、 fabs() を使ってください。 質問者 お礼 2001/05/23 11:24 回答ありがとうございました。以後参考にさせて頂きます。 今後ともよろしくお願いします。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発C・C++・C# 関連するQ&A コンパイル時に a.out と入力するとエラーが出てしまいます。 コンパイル時に a.out と入力するとエラーが出てしまいます。 テキストファイルを複数 (最大で255個) 書き込むC言語のプログラム「f.c」を作成しまして それらのファイルは全て cygwin/home という場所に保存されます。 ただ、ファイルの中身は多くの文字が並ぶので(最大 500列 × 70000行 程度) 全てのファイルを書き込むには時間がかかりすぎてしまいます。 a.out を使って プログラム内にある scanf("a=", &a); scanf("b=", &b); これらの変数 a,b を出力し 実行結果で書き込まれるファイルを データとして出力する方法が知りたいのですが (この方法をバッチ処理というのでしょうか?) $ cc f.c (← 実行結果の際のコンパイル) その次に a.out と入力するとエラーが起きます。 a.out の使い方や意味を調べてもいまいち理解し難く困っております。 さきほど言った scanf で値を決める a,b を プログラム内で決めるのではなく a.out a b と入力してデータを出力させるには どのようにすればよいのでしょうか? なぜエラーしてしまうのかも教えて頂けないでしょうか? 長々と質問してしまいすみません。 どうか ご回答 よろしくお願いします。 初心者の質問 「C言語を始めよう」 http://hp.vector.co.jp/authors/VA010286/#SOFTWARE というフリーソフトを使用してC言語の勉強を始めた者です。 質問 コンパイルして、実行すると 「c:\borland\bcc55\Bin\test2.exe 'test2.exe'は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチファイルとして認識 されていません。」というエラーが出ます。 プログラムは、以前に書いてちゃんと動いていたもの(test.exe)をコピー貼り付けしたものなのにです。 test.exeはちゃんと動きます。 なぜなのでしょうか? C言語でのファイルの作成について(超初心者です) C言語を独学で勉強しています。 のちのち、C++も使えるようにと思い、ソフトも購入し使っています。 本(C言語のみ)などを見てサンプルプログラムを入力して実行はできるのですが、 フォルダとファイルの関係が全くわかりません。 1つサンプルプログラムを作るごとにフォルダを作成して 実行を繰り返しているのですが、 本当にそうしないといけないのでしょうか? 例えば、2つ以上のファイルを使ったプログラムは どうしたらいいのでしょうか? 超初心者なので コンパイルした後にできるファイルの意味も よくわかりません。 うまく説明できないのですが、このあたりのファイルの流れと意味を わかりやすく教えてもらえませんか? また こうした方がいいというものがあれば教えてください。 よろしくお願いします。 ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム C++のcin命令について 私は、C++言語を勉強している初心者です。 ある日、C++言語では、 「cin >> a >> b >> c;」と書くと、プログラムを実行したときに、 「3 4 5」と入力すれば、変数aには 3 が、変数bには 4 が、変数cには 5 が代入されるということを知りました。 けど、今まで私がC言語を使う際に使っていた、 「scanf("%d,%d,%d",&a,&b,&c);」という文では、プログラムを実行したときに、 「3,4,5」と入力すれば、変数aには 3 が、変数bには 4 が、変数cには 5 が代入されるというように、3つの数字の間にカンマを入れて数を代入するというプログラムを作りたいのですが、どうやってもcin命令では再現できません。 超初心な質問ですが、わかる方がいらっしゃったら、やり方を教えてください。 複数のCプログラムから1つを選択しコンパイルしたい 1.c,2.c,3.cという3つのファイルがあったとして、 「どのファイルを実行しますか」と聞かれると2.cと入力すれば2.cがコンパイルされるようなプログラムを作りたいです。どんな言語でもかまいません。 セグメントエラー Cプログラムを実行した時に発生する、セグメントエラー は何が原因なのでしょうか? コンパイルはちゃんとととっているのに、 なぜエラーがでるのでしょうか? C言語の本を見たのですが、 のってません。 お願いします。 C言語の外部からの変数取得方法について 現在C言語の勉強を始めました。C言語を使用してプログラムを作成しています。コマンドプロンプトで、プログラムを実行する際に、「a = 」というようにたずねて、aの数値を取得して、プログラムで計算できるようにしたいのですが、getsではうまくいきませんでした。 例としては以下のようにしたいのです。 【コマンドプロンプトにて】 a + b = a = //5と入力 b = //3と入力 計算結果は8です。 どのようにしたらプログラム実行中に数値を取得できますか。 defineで範囲指定した文字配列について こんにちは。C言語初心者です。 文字の配列で下のようなプログラムを作ったとき、入力の際にdefineで指定したN以上の文字数の文字列を入力した場合、その後のプログラム次第で実行が正しかったり、セグメントエラーがでたりします。 コンパイルする際はエラーがでません。 ※その後のプログラムとは、関数strcmpやstrcpyです。 #include <stdio.h> #define N 10 main() { char a[N]; char b[N]; scanf("%s %s", a, b); printf("%s\n", a); printf("%s\n", b); } C言語のプログラムが実行できません。 C言語のプログラムが実行できません。 コンパイルは出来るんですが、実行すると、「Segmentation fault」と表示されてしまいます。 これは何のエラーなんでしょうか? 基本的な事かもしれませんが、分かる方宜しくお願い致します。 C90とC99の計算結果の違い? C言語の質問です。 gcc version 4.3.2 (Ubuntu 4.3.2-1ubuntu12) 以下のプログラムをgccでコンパイル・実行すると(1)に入り,"a"が出力されます。unsigned intの計算なのでラップアラウンドが生じtest=4294716272となるのは私の期待どおりです。 ただ、gcc -std=c99でコンパイル・実行すると(2)に入り,"b"が出力されました。c99でコンパイル・実行すると計算結果がなぜ異なっているのかが分かりません。 long test = 0; unsigned int x = 184; unsigned int y = 251208; test = (x-y); if(test == 4294716272){ printf("a");// (1) }else if(test == -251024){ printf("b"); // (2) } デバッグセッションの実行可能ファイル Visual C++ 2008 Express EditionでC言語のプログラムをコンパイルし、エラーも警告も出ないので、デバッグ(実行)を行ったところ、 「デバッグセッションの実行可能ファイル」を選択する画面に移りましたが、何を設定したらよいのかさっぱりわかりません。 プログラムは単純なものなので、特にややこしいことはないと思うのですが・・・ C言語について 最近C言語でプログラミングを試みようとしてるのですが、コンパイルの時点でよく分かりません。 どのようなソフトでどのようにインストール・設定し、どのようにコンパイルするかなど、C言語でのプログラムのコンパイルから実行までを詳しく教えてください。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム C言語に詳しい方。教えてください。ずっと悩んでるのですがわかりません。 問 次のプログラムに3重ループ(for)を使ってプログラムを作成したい。 コンパイルの実行結果から考えて、(1)(2)(3)の中に適切な数値や式等をいれて コンパイルの実行結果になるように3重ループを使って作成せよ #include<stdio.h> main() { int a,b,c; for(a=1;a<=3;a++){ (1) for(b=1;b<=2;b++){ (2) for(c=1;c<=3;c++){ (3) } コンパイルした後の実行画面 abbc c c d abbc c c d abbc c c d 解答欄 (1) (2) (3) プログラミング初心者ですが… 変な質問ですみませんが…。 C言語の入門書でプログラミングをしていて、 <windows.h>というものが出てきました。 このwindowsというのはOSのWindowsとは関係ないんでしょうか? Linuxでも使えますか? sleep()関数とSleep()関数は違うのでしょうか? コンパイルするとエラーは出ませんでしたが、 sleep(1000)で実行すると、処理が途中で止まってしまいました。 Sleep(1000)とすると、動きました。 コンパイラはcygwinです。 Cygwinのエディタについて Cygwinのエディタのviで、c言語のプログラムを作成し、gccでコンパイルすると、a.exeというファイルができます。私は今まで、Linuxのviでc言語のプログラムを実行するときは、a.outを使っていました。 Cygwinのviでもa.outを使うにはどう設定すればよいのでしょうか? 初心者です。 私は最近になって、c言語をゼロから勉強したいと思い、Borlandのページから、コンパイラーや、デバッガーを落としてきたのですが、ナントカ.c、のプログラムを、どうコンパイラーを使ってコンパイルするかわかりません。Ms-dosプロンプトからやるのか、さっぱりわかりません。どなたか教えていただければ、幸いです。よろしくお願いします。 LEDを点滅させるプログラムですが 繰り返し文から抜け出して、もしスイッチAが入力状態となったとき、 例えばBのプログラムのところに飛び、それを実行するというような プログラムを記述する場合、どのようにすればよいのでしょうか? 例えばでいいです。C言語の場合どのような感じで記述すれば よいのか教えてください。 どこかのプログラムに飛ぶようにする関数も教えてください WindowsでコンパイルできるがUNIXではできない 下記のプログラムは、2^-0.94を計算するものです。 このプログラムはwindows2000のマシンでコンパイルできるのですが、UNIXのマシンだと Unresolved text symbol "pow" というエラーがでてコンパイルできません。 UNIXのマシンは「cc ファイル名」でコンパイルを実行します。 どうすればコンパイルできるようになるのでしょうか。お手数ですが、教えてください。よろしくお願いします。 ※windows2000マシンのコンパイラ:Borland C++ Compiler 5.5 #include <stdio.h> #include <math.h> int main() { int a; double b,c; a=2; b=-0.94; c=pow(a,b); printf("%lf\n",c); return 0; } C言語ファイルのコンパイルができない。 先日からVineLinux3.1を使い始めました。 C言語ファイルa.c(「a」という文字を出力するだけのごく簡単なものです。このファイル自体には問題はありません。)をコンパイルしようと cc a.c と入力すると、 a.c:2:9: #include は”ファイル名”あるいは<ファイル名>を必要とします a.c:3: error: stray '\241' in program a.c:3: error: stray '\241' in program a.c:3: error: stray '\241' in program a.c:3: error: stray '\241' in program a.c: 関数 'main' 内: a.c:6: error: stray '\241' in program a.c:6: error: stray '\241' in program a.c:6: error: stray '\241' in program a.c:6: error: stray '\241' in program a.c:6: error: stray '\241' in program a.c:6: error: stray '\241' in program a.c:6: error: stray '\241' in program a.c:6: error: stray '\241' in program a.c:4: 警告: 'main'の戻り値の型が 'int'ではありません と出てコンパイルできません。 Linuxのことはまだほとんど分からないので、できるだけ丁寧におしえていただけるとうれしいです。 よろしくお願いします。 C言語による実行 C言語で記述したソースプログラムを入手しました。これをコンパイルして実行する具体的な方法を教えて下さい。私は、MS-Fortran,FBASICのソースプログラムからコンパイルし、実行することをしております。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
回答ありがとうございました。おかげさまで無事解決しました。 今後ともよろしくお願いします。