検索結果 8 件

by みうけい
8年前
フォーラム: C言語何でも質問掲示板
トピック: たまに曜日が表示されないときがあります。
返信数: 8
閲覧数: 5522

Re: たまに曜日が表示されないときがあります。

返信が遅くなってすいません。ご回答ありがとうございます。 かずまさんのコードを見たところ、自分の知らない知識がかなり使われていたので、そのことで質問したいと思います。 (もちろんのことですが、自分なりに考えてみました。(新明解c言語入門編を読んでいるところです)) まず、main関数からです。 ①35行目のfor文の2つ目の式として使われているputs関数の最後に  !=EOF  が付けられているのはputs関数によりループ(for文の)を抜けるのを防ぐためでしょうか?  (実際に!=EOFを消して、動作させたところ、ループを抜けました。) ②36行目についてです。  return 1が示して...
by みうけい
8年前
フォーラム: C言語何でも質問掲示板
トピック: たまに曜日が表示されないときがあります。
返信数: 8
閲覧数: 5522

Re: たまに曜日が表示されないときがあります。

詳しくご説明ありがとうございます。
自分の改良すべき点が次々と浮かび出てきました。もっとc言語を学んで、簡潔で、かつ他の人が見やすく、理解しやすいコードを書けるよう心掛けます。また、後日、改良版コードを張りたいと思っています。
本当にありがとうございました。
by みうけい
8年前
フォーラム: C言語何でも質問掲示板
トピック: たまに曜日が表示されないときがあります。
返信数: 8
閲覧数: 5522

Re: たまに曜日が表示されないときがあります。

原因が分かりました。
i=0のとき1と-1が生成されてしまうため、だめだと分かりました。
(本当は1と6が生成されないといけない)
ご回答ありがとうございました。
by みうけい
8年前
フォーラム: C言語何でも質問掲示板
トピック: たまに曜日が表示されないときがあります。
返信数: 8
閲覧数: 5522

たまに曜日が表示されないときがあります。

こんばんは。いつもお世話になっています。 私は今、「今日」の日付を入力すると、「次の日」と「前の日」が表示されるプログラムをC言語で作っているのですが、ときたま曜日が表示されないときがあります。その原因を探っていただけないでしょうか。また、コードが長いので、短くする方法を教えていただければ幸いです。よろしくお願いします。 (例:正しく表示される場合) 年を入力してください。 1 月を入力してください。 1 日を入力してください。 1 今日は西暦1年1月1日SUNです。 次の日は西暦1年1月2日MONです。 前の日は紀元前1年12月31日SATです。 (例:正しく表示されない場合) 年を入力して...
by みうけい
8年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列の反転をポインタを使わずに関数で行いたいのですが、どうすればいいでしょうか。
返信数: 6
閲覧数: 3981

Re: 文字列の反転をポインタを使わずに関数で行いたいのですが、どうすればいいでしょうか。

すいません。const を消し忘れていました。消した後、うまく動作しました。
本当にありがとうございます。
by みうけい
8年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列の反転をポインタを使わずに関数で行いたいのですが、どうすればいいでしょうか。
返信数: 6
閲覧数: 3981

Re: 文字列の反転をポインタを使わずに関数で行いたいのですが、どうすればいいでしょうか。

ご回答ありがとうございます。
実際にためしてみたところ、「assignment of read-only location」とエラーが表示されました。おそらく自分の使っているC言語の環境が悪いと考えられます。今後、他の環境で試してみて、うまくいかなかった場合、再びご質問させていただきます。
ありがとうございました。
by みうけい
8年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列の反転をポインタを使わずに関数で行いたいのですが、どうすればいいでしょうか。
返信数: 6
閲覧数: 3981

文字列の反転をポインタを使わずに関数で行いたいのですが、どうすればいいでしょうか。

#include<stdio.h> /*下のようにやるとうまくいきません*/ void rev_string(const char s[]) { int i=0,j=0; char a[2]; while(s[i++])j++; for(i=0;i<j/2;i++){ a[2]=s ; s =s[j-i-1]; s[j-i-1]=a[2]; } } int main(void) { char str[128]; printf("文字列を入力してください:"); scanf("%s",str); rev_string(str); printf("反転後の文字列は %s です。",str); }

詳細検索ページへ移動する