• ベストアンサー

プログラムの実行結果を教えてください。

#include <stdio.h> #include <string.h> int main() { char mojiretsu[10]; int nagasa; mojiretsu[0] = 'A'; mojiretsu[1] = 'B'; mojiretsu[2] = 'C'; mojiretsu[3] = '\0'; printf("%s\n", mojiretsu);

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

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

パッと見、問題なさそうに見える…けど main()が閉じてないですな。 あ、あと戻り値返していないか。 わざとなのか、ただ単にコピペミスなのかは不明ですが。 無料のコンパイル環境を構築する手段はありますので自分で確認した方がよいかと思われます。 # 既にそういう回答は貰っているようですし。別の質問で。

Campus2
質問者

お礼

ご回答真にありがとうございました。 }  がなかったですね!  ミスです。 納得がいかないので   再度質問します。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

コンパイルエラーになるので、実行できません。 ※ 前回、コンパイル、実行環境について、(私を含め)紹介されてますよね? なんで御自身で試さないのですか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • コンパイル結果が知りたいです。

    #include <stdio.h> #include <string.h> int main() { char mojiretsu[10]; int nagasa; mojiretsu[0] = 'A'; mojiretsu[1] = 'B'; mojiretsu[2] = 'C'; mojiretsu[3] = '\0'; printf("%s\n", mojiretsu); }    ・・   時代遅れgccはありますが!我がPCでは動きません!    フリーソフトはあるが!手順が・見るだけでいやになる!ビルドするまでの手順が”きむづい”     私は下手と・下手なマニュアルのコラボでますます・・・   1)何々    2)何々でいいじゃないか・・      マニュアルのマニュアルがいる・・       市販ではないでしょうか!?    以上宜しくお願いします。         

  • strlen=がなかったら表示はどうなりますか!?

    #include <stdio.h> #include <string.h> int main() { char mojiretsu[10]; int nagasa; mojiretsu[0] = 'A'; mojiretsu[1] = 'B'; mojiretsu[2] = 'C'; mojiretsu[3] = '\0'; printf("%s\n", mojiretsu); nagasa = strlen(mojiretsu); printf("strlen=%d\n", nagasa); }  私のPCはgccプログラムがうまく働いていません 。   なのでコンパイル後の結果が分かりません。     以上のプログラム表示結果は参考書では    ABC strlen=3    です。  それで  "strlen=%d\n" を"%d\n"にしたら    表示結果は    ABC     3     となるのでしょうか!?  よろしくお願いします。  

  • C言語の初心者です。これを実行してみてください。

    「a」って打ち込んだら「a」ってでましたか? #include<stdio.h> int main(void){ char a; printf("aaa\n"); scanf_s("%c", &a); printf("%c", a); return 0; }

  • 配列について

    初歩的な質問ですいませんが、質問よろしくお願いします。 ◎1----------------------------- #include<stdio.h> int main(void) { char ss[10]="AB"; printf("ss=%s\n",ss); return 0; } ------------------------------------ ◎2-------------------------------- #include<stdio.h> int main(void) { char ss[10]; ss[0]='A'; ss[1]='B'; ss[2]=0; printf("ss=%s\n",ss); return 0; } ----------------------------------- ◎3------------------------------- #include<stdio.h> #include<string.h> int main(void) { char ss[10]; strcpy(ss,"AB"); printf("ss=%s\n",ss); return 0; } ----------------------------------- ◎4------------------------------- #include<stdio.h> int main(void) { char ss[10]; ss="AB"; printf("ss=%s\n",ss); return 0; } ---------------------------------- 以上4つのプログラムで、◎2と◎3は正常に動くと理解できたのですが、何故、◎1は正常に動き、◎4は「'const char [3]' から 'char [10]' に変換できません。」といったようなエラーが出てしまうか分かりません。 教えていただければ嬉しいです。

  • このプログラムの復元処理教えでください。助けてくだ

    #include <stdio.h> int main(void) { char a[51]; char b[101]; char c[51]; int i,k; int cnt; printf("文字例-->"); scanf("%s",a); i = 0; k = 0; while(a[i] !='\0') { cnt = 0; b[k] = a[i]; while(b[k] = a[i]) { cnt++; i++; } k++; b[k] = cnt + 48; k++; } b[k]='\0'; printf("b=%s\n",b); printf("c=%s\n",c); //-------------------------------------------------- getchar(); return 0; }

  • 文字列の連結するプログラム

    独学でプログラミングをやっているんですが2つ文字列を1つにする方法がよくわかりません。(1)のプログラムは(b+3)のところは文字の長さを指定しているからだめで(2)はstrcpyやstrcatなどのコマンドを使わずにやるそうです。While分とかでやるんでしょうか?教えてください。 (1) #include <stdio.h> int main (void){ char spelA[] = "abc"; char spelB[] = "def"; char spelC[20]; int a,b; spel[6]=0; for(a=0;spel[a]!=0;a++){ spelC[i] = spelA[i]; }; for(b=0;spelB[b]!=0;b++){ spelC[b+3] = spelB[b]; }; printf("%s\n",spelC); return(0); }; (2) #include <stdio.h> #include <string.h> int main (void){ char spelA[] = "abc"; char spelB[] = "def"; char spelC[20]; strcpy(spelC,spelA); strcat(spelC,spelB); printf("%s\n",spelC); return(0); }

  • abcdとキーボードで打ったらdcbaと表示されるプログラム

    C言語に関しては初心者です。 メイン関数は変更せずに行います。 /* reverse.c: reverse a given string */ #include <stdio.h> #include <string.h> void reverse(char *); /* プロトタイプ宣言 */ int main(void) { char str[100]; scanf("%s", str); reverse(str); printf("%s\n", str); return (0); } void reverse(char *s) { char n; int i; char str; n = strlen(str) - 1; for(i=0,i++,i<=100) { s[i] = *s[n-i]; printf("%s\"s[i]); } }

  • ポインタ勉強中です。しかも実行するとおかしいです。

    <本に載ってたソース> #include<stdio.h> #include<string.h> int main() { char msg[20]; char *str=NULL; int i; int cnt; str=&msg[0]; printf("文字を入力してください"); scanf("%s",&str); cnt=strlen(msg); str=msg+cnt; for(i=cnt;i>=0;i--){ printf("%c",*(str--)); } printf("\n"); return 0; } char *str=NULL;は、ポインタstrを空にするということでしょうか? いつもながらstrlenとsizeofが混じります。 sizeofがバイトの大きさで、strlenが、文字数でしたっけ?

  • ASCIIコード入力

    プログラムを作っていてどうしてもわからなくなりまして… #include <stdio.h> int main(void) { char c; c=38; printf("%c\n",c); return 0; } この場合は&が出てくるからいいんですけど… #include <stdio.h> int main(void) { char c; scanf("%c",&c); printf("%c\n",c); return 0; } この場合は97をscanすると9が出てきます。ASCIIコード入力でaを表示させたいんですが、何が間違っているのでしょうか? 初心者なもので…お願いしますm(__)m

  • 結果が不安定なプログラム

    配列に入れられた文字列を、別の配列に逆にして入れ、表示するというプログラムを作っています。 #include<stdio.h> #include<string.h> #include<stdlib.h> void main() {   char str1[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ", str2[] = "";   int i = 0, len = strlen(str1);   char *p1 = str1 + len - 1, *p2 = str2;   while(*(p1 - i) != str1[0] - 1) *(p2 + i) = *(p1 - i++);   printf("str1 = %s\n",p1 = str1);   printf("str2 = %s\n",p2); } 実行結果: str1 = ABCDEFGHIJKLMNOPQRSTUVWXYZ str2 = ZYXWVUTSRQPONMLKJIHGFEDCBA と出るのですが、この文字列を例えば"TANGOHYOJI"とかに変えてみると、実行は出来るんですがprintfの部分が表示されません。 また表示できても、文字が違う文字になって表示されたりします。 あと、この場合に使われている<stdlib.h>はどういった役割を果たしているのでしょうか?これがないとこのプログラムは動かなかったのですが・・。 どうかよろしくお願いします。

このQ&Aのポイント
  • Brother DCP-J572N Printerを使っていますが、突然オフライン状態になりました。機器接続解除やWIFI再起動を試しましたが、解決できません。
  • Brother DCP-J572N Printerが盆休み前からオフライン状態になっています。2回機器接続解除と再接続をし、WIFI関連も再起動しましたが、問題は解決していません。
  • Brother DCP-J572N Printerを使用している際に、突然オフライン状態になりました。機器接続解除やWIFIの再起動を試してみましたが、なお改善されていません。
回答を見る