• ベストアンサー

c

¥bとはどういうときに使うのでしょうか たとえば /*arry02*/ #include<stdio.h> int main() { int a[]={1,2,100,50}; int i; for(i=0;i<4;i++) printf("a[%d]=%d,",i,a[i]); printf("\b\b \b\n"); return0; } の場合バックスペースで2つ戻りとあります どこをどう戻っているのかさっぱりです 戻った位置もどこなのかわかりません たすけてください

質問者が選んだベストアンサー

  • ベストアンサー
  • TinyPine
  • ベストアンサー率30% (719/2386)
回答No.2

このプログラムでは多分 最初のprintf("a[%d]=%d,",i,a[i]);で a[1]=1 と印字され、 次にprintf("\b\b \b\n"); で  バックスペース バックスペース スペース バックスペース 改行 とありますから、 最初のバックスペース2つで a[1] になり、次のスペースで a[1]_ _はスペースを表す と成り 次のひとつのバックスペースで a[1] と成り改行を実行するのではないでしょうか。 当然4回ループしていますから、他の動作は考えて見て下さい。

その他の回答 (1)

noname#147481
noname#147481
回答No.1

¥bとはどういうときに使うのでしょうか たとえば - Yahoo!知恵袋 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1279936207

関連するQ&A

  • C言語の質問です。

    #include"stdio.h" int main(void){ int a, b, add; scanf_s("%d%d", &a, &b); add = a+b; printf("add=%d\n", add); return 0; } と、------------------------------------------------------------------------------ #include"stdio.h" int tasizan(int x, int y); int main(void){ int a, b, add; scanf_s("%d%d", &a, &b); add = tasizan(a, b); printf("add=%d\n", add); return 0; } int tasizan(int x, int y){ int aa; aa = x + y; return aa; } の違いを教えてください。

  • C言語の参照はずしについて

    ソートのプログラムなんですが #include <stdio.h> #include <stdlib.h> int comp(const void *, const void *); int main() { int i; int test[6] = {10, 8, 2, 6, 4, 0}; qsort(test, (size_t)6, sizeof(int), comp); printf("\n"); for (i = 0; i < 6; i++) printf("%d\n", test[i]); return 0; } int comp(const void *a, const void *b) { static int i = 1; printf("%02d--%d,%d\n", i, *(int *)a, *(int *)b); i++; return (*(int *)a - *(int *)b); } 最後のreturnの()の中身がよくわかりません。「参照はずし」という事をしてるらしいんですが「参照はずし」とは何ですか意味も教えてください。

  • c++

    /* char03*/ #include<stdio.h> int main() { char i; for(i='!';i<='~';i++){ printf(%3d(0x%2X)--%c",i,i,i); if((1-'!'+1)%4==0 printf("\n") } printf("\n") return("\n") return 0; } if((1-'!'+1)%4==0はどういう意味でしょうか

  • c

    /* char03*/ #include<stdio.h> int main() { char i; for(i='!';i<='~';i++){ printf(%3d(0x%2X)--%c",i,i,i); if((1-'!'+1)%4==0 printf("\n") } printf("\n") return("\n") return 0; } (0x%2X)数字でしょうかなんでしょうか わかりません 助けて下さい

  • C言語の配列について

    配列を20 定義し値を入力して合計値を出したいのですがどうすればよいのでしょうか 下のソースでエラーはおこりませんでした 何がちがうのでしょうか #include <stdio.h> int main() { int a[20]={}; int i, sum; printf("整数を入力してください:"); scanf("%d",&a); printf("\n"); for (i = 0; i < 10; i++) { sum += a[i]; } printf("sum= %d\n", sum); return 0; }

  • c言語で

    c言語で /*a==bのとき商と余を求めるそれ以外は積を求める*/ # include<stdio.h> main () { int a,b,seki,sho,joyo; printf("aとbを入力してください\n"); scanf("%d %d", &a,&b); if(a==b) printf("sho=%d\n",(a/b)); printf("joyo=%d\n",(a%b)); else printf("seki=%d\n",(a*b)); return(0); } はどこがおかしいでしょうか? あと /*小数点*/ # include<stdio,h> main () { float a,b,seki,sho,joyo; printf("%f %f",&a,&b); if(a>b) printf("sho=%f4.3\n",(a/b)); printf("joyo=%f4.3\n",(a%b)); else printf("seki=%f4.3\n",(a*b)); return (0) にいたってはエラーの嵐なのですがどうすればいいでしょうか

  • c言語なのですが

    c言語なのですが #include<stdio.h> main() { int a; printf("整数を5回足し算する\n"); scanf("%d %d",&a); printf("a*5=%d\n",a*5); return(0); } でエラーが起こります どこを修正すればいいのでしょうか

  • c言語について

    #include <stdio.h> MakeData(int *a,int n){ int i,b[5]={5,1,4,7,2}; for(i=0;i<5;i++){a[i]=b[i];} } BubbleSort(int n,int *a){ ここに流れ図に沿ったプログラムを作る } main(){ int i,n,a[100]; n=5; MakeData(a,n); for(i=0;i<n;i++){printf("%4d ",a[i]);}printf("¥n"); printf("並べ替え後¥n"); BubbleSort(n,a); for(i=0;i<n;i++){printf("%4d ",a[i]);}printf("¥n"); } この課題が分かりません。 もし詳しい方がいらっしゃいましたら教えて頂けると助かります。

  • C言語で困っています

    C言語で 100:1 99:2 98:3 .......ループ 1:100とやりたいんですが このやりかたがわかりません goto文などを使うのでしょうか? 一応コードは #include <stdio.h> int main(void) { int i,a; for(i=100; i>=1; i--){ for(a=1; a<=100; a++){ printf("%d:\n",i); break; printf("%d",a); } } return 0; } です まったくこれだと右側が出力されなくてだめみたいです どなたかお知恵をください お願いします

  • cプログラム

    #include<stdio.h> /*Calc MAX of (a,b)*/ int max(int x,int y) { if(x>y) return x; else return y; } /*Calc n!*/ void fact(int n) { int i,ans; ans=1; for(i=n;i>=1;i--){ ans*=i; } printf("ans=%d\n",ans); } /*END*/ void end() { printf("Thanks\n"); exit(0); } /*Main*/ int main() { int key; int a,b,saidai; int n; while(1){ puts("\n=====Main MENU ====="); puts("1.......max(a,b)"); puts("2.......n!"); puts("9.......END\n"); printf("Input No(1,2,9)=?"); scanf("%d",&key); switch(key){ case 1: printf("Inputs:a,b?"); scanf("%d,%d",&a,&b); saidai=max(a,b); //Call max(a,b) printf("max(%d,%d)=%d\n",a,b,saidai); break; case 2: printf("Input:n?"); scanf("%d",&n); fact(n); break; case 9: end(); break; default: printf("!!!!!Miss Input_No!!!!!\n"); break; } } のプログラムなのですが、1の処理を行った場合max(a,b)の値が正しく表示されません どこを直せばいいでしょうか? return(0);

専門家に質問してみよう