こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

C言語 暗号化について

暗号化について勉強しているのですが、奇数文字+1、偶数文字-1にするときは、#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

char myislower(char c)
{
if((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')){
if(c % 2 == 1){
c = c+1;
}else{
c = c-1;
}
}
return c;
}
このプログラムでやりたいのですが、エントリーポイントを定義しなければなりません、とエラーがででしまいます。どうしたらいいでしょうか?

投稿日時 - 2008-07-25 16:17:49

QNo.4203285

すぐに回答ほしいです

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

>エントリーポイントを定義しなければなりません、とエラーがででしまいます。どうしたらいいでしょうか?

C言語は「mainと言う名前の関数」が「エントリ関数」になり、この関数の入り口が「エントリポイント」として定義されます。

そして、プログラムを起動すると、必ず、main関数から実行し始めます。

1つのプログラムには、必ず、1つのmain関数が存在している必要があります。main関数が1つも無かったり、2つ以上あってはいけません。

質問者さんのプログラムでは、charを1文字与えると、charが1文字返って来るだけです。

これだけではプログラムは動きませんから、main関数に
・文字列を入力する。
・入力した文字列からcharを順に1文字づつ取り出す。
・取り出したcharを質問文にある関数に与える。
・変換後の文字列を作る場所に、返って来たcharを1文字づつ格納する。
・文字列が無くなったら、変換後の文字列を表示する。
と言う処理を書く必要があります。

投稿日時 - 2008-07-25 16:51:27

お礼

この間指摘された部分を修正したところ、ちゃんとコンパイルできました。
ありがとうございます。

投稿日時 - 2008-07-27 22:17:50

このQ&Aは役に立ちましたか?

13人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

前の質疑はどうして削除したの?
それがあるのとないのとでは全然違うんだけど。

この質問の関数は、どう見ても前の質疑で「サブルーチン」として出てくるべき内容のはずだけど。

投稿日時 - 2008-07-25 17:23:15

補足

この前の質疑はサイト側によって削除されました。
すみません。

投稿日時 - 2008-07-27 22:18:14

ANo.1

c言語の約束
どこから実行されるか という話。

http://www.google.com/search?q=c%E8%A8%80%E8%AA%9E%20%E5%9F%BA%E6%9C%AC&hl=ja&lr=
簡単に言うと「C言語は最初に実行する関数の『名前』が決まっている」


質問文のソースはそれに従っていないだけだね。
ちょっと書き直すだけでできるはずだよ

投稿日時 - 2008-07-25 16:21:49

お礼

ありがとうございます。参考にさせて頂きます。

投稿日時 - 2008-07-25 16:33:33

あなたにオススメの質問