- 締切済み
文字列をポインタに入れる方法を教えてください。
どなたか文字列をポインタに入れる方法を教えてください。下のプログラムのa=count(name1);とreverse(name1,name2,a);のとこにエラーが表示されます。ちなみに&を入れてもダメでした。整数の場合は&を入れたらできるみたいですが、文字列となるとやり方が違うのでしょうか? 問題としてはローマ字で名前を入力して表示し、文字数と名前を逆順にする2つの関数countとreverseを各自定義してそれぞれ定義しプログラムを組みなさい。姓と名の間は1文字空白を入れ、空白は文字数に含めないこと。 下のプログラムを実行させると・・・ 名前を入力しなさい。 yamada hirosi //自分で入力 yamada hirosi 文字数は12 逆順にした後はisorih adamay となるはずなんですが、なりません。どなたか宜しくお願いします。 #include "stdafx.h" #include <stdio.h> int count(char *name1[]) { int i,b=0; for(i=0;*name1[i]!='\0';i++) { b++; } b--; return b; } void reverse(char *name1[],char *name2[],int a) { int w; for(w=0;w<=a;w++) { *name2[w]=*name1[a-w]; } *name2[w]='\0'; } int main(int argc, char* argv[]) { char name1[80],name2[80]; int a; printf("名前を入力しなさい\n"); gets(name1); printf("%s\n",name1); a=count(name1); printf("文字数は%d\n",a); reverse(name1,name2,a); printf("逆順にした後は%s\n",name2); return 0; }
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- お金を節約orもらえるというジャンルで、絶対に知っておいた方がいいっていう情報を募集します。
- 注意事項として、嘘偽りがなく、特定の役職や職業の人じゃないと恩恵が受けられないのはダメ、特定の地域限定のお得術もダメです。
- 一番お得な情報を提示した人に必ずベストアンサーをつけます。参加した方全員にお礼します。