
ユーザ関数は語句を入力、長さを調べる、反転の三つを使用。
実行しても何も起こらないのですがどこを直せばよいでしょうか?
#include <stdio.h>
#define N 100
void input_phrase(char *p)
{
printf("99文字以内で入力");
scanf("%s", p);
}
int len(char *p)
{
int n = 0;
while(*p !='\n')
{
p++;
n++;
}
return n;
}
void inverce(char *p_in, char *p_out)
{
int i, t;
t = len(p_in);
p_out += t - 1;
for (i = 1; i <= t; i++)
{
*p_out = *p_in;
p_in++;
p_out--;
}
}
int main(void)
{
char *p_in, *p_out;
char s1[N];
char s2[N];
void input_phrase(char s1);
int n = 0, len(char *p);
p_in = s1;
p_out = s2;
inverce(p_in, p_out);
printf("%s", s2);
return 0;
}
No.1ベストアンサー
- 回答日時:
実行しても何も起こらない原因は、p_in, p_outが初期化されていないためです。
また、s1, s2もscanfではなくgetsを使用する必要があります。次のように修正してみてください。#include <stdio.h>
#define N 100
void input_phrase(char *p)
{
printf("99文字以内で入力");
gets(p);
}
int len(char *p)
{
int n = 0;
while(*p !='\n')
{
p++;
n++;
}
return n;
}
void inverce(char *p_in, char *p_out)
{
int i, t;
t = len(p_in);
p_out += t - 1;
for (i = 1; i <= t; i++)
{
*p_out = *p_in;
p_in++;
p_out--;
}
}
int main(void)
{
char s1[N];
char s2[N];
input_phrase(s1);
int n = len(s1);
inverce(s1, s2);
printf("%s", s2);
return 0;
}
No.3
- 回答日時:
input_phrase が
void input_phrase(char *p)
と
void input_phrase(char s1);
のように矛盾する形で宣言されているので, 処理系によってはエラーを吐くかもしれない.
ちなみに現在「gets」なる関数は (C の規格には) 存在しないよ>#1. 昔はあったんだけど「安全に扱うことが不可能」という理由で規格から削除された.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
recvfrom関数の戻り値がおかし...
-
int型からchar型への変換
-
charからLPTSTRへの変換方法
-
ローマ字変換アルゴリズムを教...
-
TCP/IP通信型大文字・小文字変...
-
Visual Studio strcpyについて
-
CStringをwchar_tに変換したい
-
”あいうえお” を ”おえういあ...
-
構造体のアライメント調整
-
charでの計算?
-
TCHAR型とは
-
【C言語】テキストファイル内の...
-
OpenCVで32bit ヘッダ無しRaw画...
-
char型からのバイト数取得
-
制御の方法
-
switch文で文字を比較すること...
-
文字列
-
絶対パスからのファイル名の切...
-
バイナリファイルをコピーする...
-
ネットワークにつながっている...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
fgetsなどのときのstdinのバッ...
-
C言語のfor文です。 繰り返しの...
-
文字列から空白を取り除きたい...
-
テキストデータをそのままバイ...
-
2曲同時再生するにはどうした...
-
配列をnビットシフトする
-
CStringをwchar_tに変換したい
-
c++ 文字列を入力して、一文字...
-
charからLPTSTRへの変換方法
-
atoi( ) の反対をやりたい
-
間接参照のレベルが異なっています
-
charでの計算?
-
c言語プログラミング実行時エラ...
-
double型の値をchar配列に変換...
-
str系関数を使わずに二つの文字...
-
間接操作のレベルとは
-
3桁区切(コンマ)記号をつけ...
-
iconv_open失敗
-
【C言語】構造体内の領域解放(...
-
ftoa の作り方
おすすめ情報