2016-12-09 28 views
-2

私の先生がランダムな文字と数字を生成するサーバーを開発しました。私は、生成されたものを取り込み、それを標準入力フォームに入れ、sizeof()演算子を使ってバイト数を見つけるプログラムを作成する必要があります。また、ファイルのランダムな終わりが発生した場合、それはメッセージを生成し、何バイトが通過したかを示すはずです。私は基本的なコーダーであり、私のミスを修正するためにここからどこに行くのか分からないので、私のプログラムで少し助けが必要です。ここでCでのバイトへのカバー

#include <stdlib.h> 
#include <stdio.h> 

int main() { 
    int input; 
    int sum; 
    int size; 

    do { 
    size = sizeof(input); 
    sum =+ size; 
    input = 0; 
    } while (scanf("%c", &input)!=EOF); 

    if (EOF) { 
    printf("Random End of File Has Occured.\n%d Bytes Have Been Received.", sum); 
    } 

    else { 
    printf("End of Transmission Completed.\n%d Bytes Have Been Received.", sum); 
    } 
    return 0; 
} 

は、私はそれが見えるように必要なものの一例である: Example

267.625293748653 
5233.717459639272 
29779 
6489 
3579.434430982391 
28896 
8834 
3152.852412488174 
25321 
8320 
28836 
8875.864858351391 
9539.445326098274 
3859.598437452315 
12345 
195.324900951882 
25139 
22473 
595.885992279732 
2765.982421338542 
6554.456891649837 
5822.693258461257 
9979.479628894926 
193.095583971679 
9349.095348739159 
7462 

Read 447 bytes from standard input 
C:\Users\Brett\Downloads\hw2 (1)> 
+1

「ここに私の宿題があります。問題の説明なしにプログラムを修正してください」という質問はありません。 – Blorgbeard

+0

_ sizeof()演算子を使用してバイト数を調べる_ ??? countの代わりにBYTEを受け取ります。 – BLUEPIXY

+0

例は画像ではなくテキストでお願いします。 – BLUEPIXY

答えて

0

あなたが修正する必要があります二つのものがあります。

  1. あなたはそれsum += size;にサイズの追加を開始する前にsum = 0;を初期化する必要があります。今のところ、変数sumがスタック上にあるため、変数はガーベジで初期化されています。基本的に、既知のサイズをガベージ値に追加しています。

  2. sizesumにコードを追加していません。あなたは、このことができますsum =+ size;sum += size;

希望を変更する必要があります!