2016-10-08 23 views
0

整数を入力とし、その正方形を出力するCプログラムを書いてみたい。ここで私が試したことがあります。stdinから整数を読み出す(C言語)

しかし、

  • ./a.out < 3出力32768、および
  • ./a.out < 4も私は間違っ32768

を出力?ありがとう。 「<」の右側の

#include <stdio.h> 

int main(){ 
    int myInt; 
    scanf("%d", &myInt); 
    printf("%d\n",myInt*myInt); 
} 
+2

あなたがリダイレクト元と、そのファイルとファイル名を渡すことになっているあなたはcomileと、端末から実行する必要があり、このプログラムを実行するには you can read about atoi

必要なテキスト入力が含まれています。したがって、 'my.txt'に' 4'が含まれていれば './a.out

+0

Bashを使用している場合、 'program <<< input'を使うこともできます。これは' echo input |プログラム。 –

答えて

2

あなたが何をしようとして<ため

echo 4 | ./a.out 

構文は

program < input_file 

一方でいるように見えます|は

command_with_output | program 
1
./a.out < 4 

これは、4という名前のファイルを読み込み、そのコンテンツをa.outへの入力として使用しようとしますが、いずれの方法でも実行できますが、<演算子は、あなたが入力する文字を文字通り入力するためのものではありません。これを行うには

一つの方法は、次のようになります。

echo "4" > 4 
./a.out < 4 
1

私はあなたのプログラムを実行し、その作品は素晴らしいです。 プログラムが整数入力を受け取るようにするには、argc、argvをfolowedとして使用し、scanfは使用しないでください。

* ARGCのARGVのコード:*

ATOI - 整数へのchar *に変換します。

プログラムを実行してから整数を挿入する場合は、正しく実行してください。

gcc a.c -o a  
./a 3 

、あなたが受け取る:

9 
関連する問題