2016-06-15 3 views
2

私は関数を使ってC main()プログラムを書こうとしています。プログラムはmain()内の文字を要求し、それを関数に渡します。この関数は次に入力された文字を出力し、その文字を大文字でmain()に返します。 main()では、新しい大文字が出力されます。main()のユーザーがCを使って別の関数に渡した値を渡す

文字を読み込んで大文字に変換できますが、変換された文字を印刷することはできません。出力は次のようになります。Sample output。以下はこれまで私が行ってきたことです。どんな助けもありがたい。

#include <stdio.h> 
#include <ctype.h> 

char convert(char a1); 

int main (void) 
{ 
    char lower, upper; 
    printf("Please enter a lowercase character: "); 
    scanf("%c",&lower); 

    upper = convert(lower); 
    printf("(from main) Uppercase character: %c\n",upper); 
    return(0); 
} 
char convert(char a1) 
{ 
    char result; 
    printf("Entered character: %c",lower); /*This statement is to be printed*/ 
    result = toupper(a1); 
    return (result); 
} 

Here is my outputあなたは、あなたの関数convertにライン-1とライン2の下に追加する必要があり

+3

からあなたを停止して、正確にどのようなそれを準備していますか? – SergeyA

+2

入力と観測された出力は何ですか? –

+1

注: 'return'は関数ではなく文です。カッコは、誤字をシャドーして、そのステートメントを関数のように見せることができるので、非推奨です。それらは実際に表現の一部であり、目的を果たさない。単純な式には使用しないでください(より複雑な場合は読みやすさを高めることができます)。 – Olaf

答えて

0

char convert(char a1) 
{ 
    char result; 
    printf("Converting to uppercase ...\n"); // line-1 
    printf("(from function) Entered character is: %c\n", a1); // line-2 
    result = toupper(a1); 
    return (result); 
} 

出力:

Please enter a lowercase character: t 
Converting to uppercase ... 
(from function) Entered character is: t 
(from main) Uppercase character: T 
+0

オハイオイ私は、これらの2行を書いたが、私はmain()でその関数を呼び出して、それを印刷しようとしていた。あなたがそれをすることができるのか分からなかった。ありがとうございました! – Alivarvan

+0

'main'で' upper = convert(lower); 'を使って' convert'関数を呼び出し、 'lower'の値をこの関数に渡しています。したがって、関数 'convert'の中では、この関数の引数' a1'に 'lower'の値のコピーがあります。 –

関連する問題