- ベストアンサー
C言語のエスケープ文字についての質問です
エスケープ文字の使い方がわからないので教えてください! \f と \v の使い方がわかりません。 printf()内に記述していろいろ試したのですがわかりません。 \v はprintf内に記述したら、X(バツ)マークが表示されるだけでした。 どなたか教えていただけませんか? できればサンプルを載せてくれればうれしいです。
- みんなの回答 (5)
- 専門家の回答
関連するQ&A
- C言語 エスケープ文字 エスケープシーケンス?
プログラミング初心者です。 早速ですが現在、C言語入門書に目を通している最中なのですが理解出来ない部分が有ります。 内容としましては 「エスケープ文字」 に関してです。本書ではあまり理解出来なかったのでネットで検索していると、「エスケープシーケンス」 と言う用語も数多く出てきました。 いろいろ検索し私なりに出した答えは..... •エスケープ文字 = 文字が持つ特別な意味を無効にする為の文字。 •エスケープシーケンス = 改行などの特殊な文字を英数字の組み合わせで表現した物。 と....上記の様に私は理解しているのですが現在読んでいるC言語入門書の内容だとエスケープ シーケンスと考えられる説明が 「エスケープ文字」 として記述されています。 それはC言語ならではの扱い方なのか?、本書の内容が間違っているのか? 分かりづらい説明だと思うのですがよろしくお願いいたします。 因に現在読んでいる入門書は 「読本C-C言語徹底攻略」 と言う本でかなり昔のになります。
- ベストアンサー
- C・C++・C#
- Jedit X でエスケープ文字の置換に関して
Jedit X 2.03 を利用しています。Mac の環境は Mac OS X 10.5.4 になります。 Jedit X にて、エスケープ文字を置換したいと思っています。 具体的には、垂直タブ(\v)を改行(\n)に変換したいと思います。 少し調べた所、Jedit X では、エスケープ文字の場合、¥(円マーク)では無く\(バックスラッシュ)との事でしたが、Jedit X で、半角英数で\vと入力しても、認識しませんでした。 最終的には、不可視の垂直タブ及び、改行(パラグラフブレーク)を表示させ、垂直タブ及び、改行(パラグラフブレーク)の記号をコピーする事が出来ましたので、置換をする事は出来ましたが、純粋にエスケープ文字を認識させて、置換させる事は出来ないでしょうか。 エスケープ文字の置換は頻繁に行いませんが、Mac で他に良いエディターが有れば合わせてアドバイスを頂ければ嬉しく思います。 ## safari の画面上では、バックスラッシュを入力すると\になる為、上記質問では全角のバックスラッシュ(\)を記載しています。
- ベストアンサー
- Mac
- LIKE文でエスケープ文字自体をエスケープする方法
SQLのLIKE文では A LIKE '\%文章' ESCAPE '\' のように、ワイルドカード用の文字列をエスケープする方が用意されています。このとき、条件文にエスケープ文字自体を含める(上のSQL文であれば、「\」をエスケープ文字と定義していながらも、「\%」を「\」「%」と独立した文字として検索にかける)場合はどのように記述したらよいでしょうか。
- ベストアンサー
- MySQL
- すみません…。C言語の質問です!!
以下のような、ニューロン法のプログラムを作成したのですが、上手く結果を得ることが出来ませんでした…。どこが、どのように間違っているのかが分からないので、プログラムを修正していただけると嬉しいです。 よろしくお願いします。 1. #include <stdio.h> 2. #include <stdlib.h> 3. #include <math.h> 4. /*--- 関数 f( x ) = x - cos( x ) ---*/ 5. double f( double x ) 6. { 7. return x - cos(x) ; 8. } 9. double df( double x ) 10. { 11. return 1 + sin(x) ; 12. } 13. /*--- メイン関数 ---*/ 14. int main( void) 15. { 16. int cnt ; 17. double x_OLD, x_NEW, eps = 0.0001 ; 18. cnt = 0 ; 19. x_NEW = 1.5 ; 20. printf("計算回数 x f(x)\n") ; 21. printf("%d %lf %lf\n", cnt, x_NEW, f(x_NEW)) ; 22. do{ 23. cnt++; 24. x_NEW = x_OLD ; 25. x_NEW = x_OLD - ( f(x_OLD) / df(x_OLD) ) ; 26. printf("%d %lf %lf\n", cnt, x_NEW, f(x_NEW)) ; 27. }while( fabs(x_NEW - x_OLD) < eps ); 28. }
- 締切済み
- C・C++・C#
- C言語の質問です
ニュートン法のプログラムを組んだのですがPAD図が描けなくて困ってます どなたか回答お願いします /* newton.c: ニュートン法 */ #include <stdio.h> // printf, fprintf, fgets, sscanf #include <math.h> // fabs double a; //グローバル変数 double f(double x) //fは関数f(x) { return x * x - a; //f(x)=x~2-a } double df(double x) //dfはf(x)の導関数f’(x) { return 2 * x; //df(x)/dx = 2x } double newton(double x, double (*f)(double), double (*df)(double), double eps) { int n = 0; //初期化 double x0, err; //x0は初期値 printf("# n, x, err\n"); printf("%4d, % .15e\n", n, x); do { n++; x0 = x; x = x0 - f(x0) / df(x0); //切片でy=0、x=x1 err = fabs(x-x0); printf("%4d, % .8e, % .15e\n", n, x, err); } while (err >= eps); return x; } /*メインルーチン*/ int main(void) { double x, eps = 1.0e-10; //収束条件 char s[128]; fprintf(stderr, " a = "); fgets(s, 128, stdin); sscanf(s, "%lf", &a); while (a <= 0.0) { fprintf(stderr, "'a' には正の数を入れてください。\n"); fprintf(stderr, " a = "); fgets(s, 128, stdin); sscanf(s, "%lf", &a); } x = (a + 1.0) / 2.0; x = newton(x, f, df, eps); //ニュートン法の実装 printf("\n# √(%e) = % .15e\n", a, x); return 0; }
- 締切済み
- C・C++・C#
- C言語 プログラミングで行詰まりました…
標準入力(キーボード)からi,jk,nの値を入力し、次の漸化式を計算し、X_0からX_nまで求めるプログラムを作成したいのですが、うまく表示されません。どかがおかしいのかご指摘お願いします。 <漸化式> X_n=(a+b)/X_(n-1) , X_0=c(n=0) ================================================================== #include<stdio.h> float f_X(int a,int b,float c) { float y; y=(a+b)/c; return y; } int main (void) { int number,i,j; float k,l,n,X; printf("i:"); scanf("%d", &i); printf("j:"); scanf("%d", &j); printf("k:"); scanf("%f", &k); printf("n:"); scanf("%f", &n); X=k; printf("X_0= %.6f\n",X); for(number=1;number<=n;number++) { l=f_X(i,j,X); printf("X_%d= %.6f \n",number,l); X=l; } return 0; } ===================================================================
- ベストアンサー
- C・C++・C#
- C言語のプログラムでうまく動きません。
xとyを入力してその商を求めよという問題なのですが、大きい数字を小さい数字で割るようになっています。また、当然分母が0の時には不定となるので、次のようなプログラムを作りましたが、うまく動きません。どこが悪いか考えてもわかりませんでした。教えていただけませんでしょうか。 #include<stdio.h> main() { int x; int y; double syou; printf("xを入力せよ"); scanf("%d",&x); printf("yを入力せよ"); scanf("%d",&y); syou=x/y; if("syou>=1") { if("y==0") { printf("不定です"); } printf("答えは%fです。",&syou); } else { if("x==0") { printf("不定です"); } syou=y/x; printf("答えは%fです。",&syou); } } これでx、yを入力しても不定と出てきて、xの方が大きいときには見当はずれの大きな数字が出てきます。逆にyの方が大きいと同じく不定と出てきて答えは0.000と表示します。
- ベストアンサー
- C・C++・C#
- C言語で 小文字を大文字に変えるプログラム
C言語で小文字を大文字に変えるプログラムを造ったのですが、エラーが出てしまいます。 どこが間違っているのか教えてください。 #include<stdio.h> main() { char a[100]; scanf(%c,&a[i]); int i=0; while(i<100){ i++; if(a[i]>60){ printf("%x-20",a[i]); }else{ printf("%x",a[i]) } } }
- 締切済み
- C・C++・C#
- PHPのヒアドキュメントでは、\はエスケープされない?
PHPのメール関数のメッセージ組み立て部分で使用しているヒアドキュメント内で¥マークを出力したい場合、「\」と記述するとエラーになってしまいます(「\\」と記述すると、ちゃんと「\」と表示されます。)。 PHPのヒアドキュメントでは、\はエスケープされないのでしょうか? よろしくお願いします。
- ベストアンサー
- PHP
- C言語
入力した文字列と文字列'x'を受け取り、'x'の位置のポインタを返すのですが、例えば、saxcvと入力すると、xcvと表示されるのですが、このソースだと、saxcvと全部表示されてしまいます。分からないので、教えてください。宜しくお願いします。 #include <stdio.h> char *a(char *sew) { char *p=sew; while (*sew != 'x') { sew++; } return(p); } int main(void) { char str[21] ={'\0'}; int i=0,no=0; char ch; printf("文字を入力してください:"); while (i<21) { ch=getchar(); if (ch=='\n') {break;} else if (ch != '\0' && ch != '\0') { str[i] =ch; i++; } } for(i=0; i<20; i++) { if(str[i]=='x') { printf("'x'以降は%sです。\n", a(str)); no=1; break; } } if (no==0) printf("'x'は見つかりませんでした。"); return (0); }
- ベストアンサー
- C・C++・C#
- 自分のコンプレックスを他人に押し付けたり見下す人に苦手意識を持っている21歳女性の相談です。
- 一重がコンプレックスだが他人には興味がなく、一重に対して気にしている女性を見て性格で損していると感じている。
- コンプレックスに関してのいじりは仲良くても距離を置き、価値観の違いに悩んでいる。アドバイスを求めています。
お礼
回答ありがとうございますっ!!! サンプルを載せてくれてありがとうございます! 解説も付いててすごく分かりやすかったです!! MS-DOS時代と現在の環境では動作が違うんですね! 勉強になりました! また、私が質問していたら教えてやってください。 回答ありがとうございました!