スキャンした値をCのスタックにプッシュする方法は?

user3541302

scanfを使用してキーボードからスタック配列に値をスキャンする際に問題があると思います。スキャンした値をスタック内の配列に入力する方法がわかりません。Cコードを修正してください。ユーザー入力を要求するメインメソッドを確認し、それらを配列にプッシュしてみてください。

#include<stdio.h>
#define STACKSIZE 5

struct stack
{
    float data[STACKSIZE];
    int sp;
};

struct stack sta={{0},-1};

//push method
void push(float n)
{
    sta.data[++sta.sp]==n;
    //onlystack.data[++onlystack.sp]=x;  
}

//pop method
float pop()
{  
    return sta.data[sta.sp--];
}

//top method
float top()
{
    return sta.data[sta.sp];
}

//full method
int full()
{
    return (sta.sp==STACKSIZE-1);
}

//empty method
int empty()
{
    return (sta.sp==-1);
}

int main()
{
    int x, y;
    int temp;
    for (x=0; x<STACKSIZE; x++)
    {
        **printf("Enter float to be stored in the stack");
        scanf("%f", &temp);
        push(temp);**
    }

    while(!empty(sta))
    {
        for (y=0; y<STACKSIZE; y++)
        {
            printf("\t%f",pop());
        }
    }

    printf("%f", top());
    return 0;
}
ビル・リンチ

考え:

  1. ではpush()、割り当てを実行する代わりに、同等性をテストします。
  2. tempタイプはintです。フロートである必要があります。
  3. empty() 引数をとらず、引数を渡します。
  4. 最後printf("%f", top())は、を出力するため、未定義の動作を呼び出しますsta.data[-1]
  5. pop()印刷の周りにwhileループとforループは実際には必要ありませんwhileループを実行できるはずです。
  6. 出力を読みやすくするには、'\n'各フロートの後に文字を印刷する必要があります。これにより、各フロートがそれぞれの行に表示されます。

これらのエラーが修正されると、コードは正しく機能しているように見えます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

キャッシュC ++を介したスタティックRAMへのアクセスの速度が劇的に低下するのはなぜですか?

分類Dev

Bltoolkit:インスタンスプロパティの値をキャッシュする方法

分類Dev

Djangoは「:1:」のキープレフィックスを削除する方法をキャッシュします

分類Dev

依存関係をインストールした後、herokuのキャッシュをクリーンアップする方法は?

分類Dev

シャーディングされたインデックスの重複ドキュメントをmongoにドロップする方法は?

分類Dev

Guavaのキャッシュクラスに値を入れる方法は?

分類Dev

カスタマイズしたディストリビューションの不要なファイルまたはキャッシュをどのようにクリア/クリーンアップするか

分類Dev

GAE:タスクキューのプッシュ-タスクを特定のキューにプッシュする方法は?-GAE-PHPを使用

分類Dev

新しいサブスクリプションが作成されたときにスキャンアキュムレータ値がリセットされるのに、shareReplay(1)を使用している場合はリセットされないのはなぜですか?

分類Dev

PHPスクリプトにキャッシュを追加する方法は?

分類Dev

個々のプロセスのブロックキャッシュをオフにする方法は?

分類Dev

シンボルプレフィックス付きのパターンをキャプチャする方法は?

分類Dev

BundleCollectionにMVC4のキャッシュされたスクリプトバンドルを強制的にフラッシュする方法

分類Dev

Spring Boot 2にアップグレードした後、キャッシュメトリックをプロメテウスに公開する方法は?

分類Dev

iOSは、デバイスのホームボタンをクリックすると、アプリケーション画面をキャッシュします

分類Dev

Linuxですべてのディスク書き込みをインターセプトしてキャッシュする方法は?

分類Dev

CSRFトークンを使用してリクエストをキャッシュするときにServiceWorkerのキャッシュサイズを減らす方法

分類Dev

Rのリストにデータをキャッシュする方法は?

分類Dev

apacheignite-特定のクラスターグループにキャッシュをデプロイする方法

分類Dev

makeステップ中に値をキャッシュする

分類Dev

適応ステップサイズのルンゲクッタキャッシュカープを実装する方法は?

分類Dev

方法:スキャンしたデータをIDから別のビューIOSのテキストボックスにインポートする(BLINKID)

分類Dev

角度のあるhttpインターセプターで非同期スタイルでhttpリクエストをキャッシュする方法は?

分類Dev

angle2 のテンプレートにロードされたスコープ変数にアクセスする前に ajax 呼び出しを適切に実行してキャッシュする方法は?

分類Dev

Xcodeバージョン11.0ベータキャンバスのクラッシュを修正する方法は?

分類Dev

Sparkデータフレームをキャッシュして別のスクリプトで参照する方法

分類Dev

ワークボックスキャッシュをクロスオリジン応答にする方法は?

分類Dev

Springでキャッシュ値にアクセスする方法

分類Dev

shareReplayとReplaySubject-サブスクリプション前に最新の値をキャッシュするのはReplaySubjectのみです

Related 関連記事

  1. 1

    キャッシュC ++を介したスタティックRAMへのアクセスの速度が劇的に低下するのはなぜですか?

  2. 2

    Bltoolkit:インスタンスプロパティの値をキャッシュする方法

  3. 3

    Djangoは「:1:」のキープレフィックスを削除する方法をキャッシュします

  4. 4

    依存関係をインストールした後、herokuのキャッシュをクリーンアップする方法は?

  5. 5

    シャーディングされたインデックスの重複ドキュメントをmongoにドロップする方法は?

  6. 6

    Guavaのキャッシュクラスに値を入れる方法は?

  7. 7

    カスタマイズしたディストリビューションの不要なファイルまたはキャッシュをどのようにクリア/クリーンアップするか

  8. 8

    GAE:タスクキューのプッシュ-タスクを特定のキューにプッシュする方法は?-GAE-PHPを使用

  9. 9

    新しいサブスクリプションが作成されたときにスキャンアキュムレータ値がリセットされるのに、shareReplay(1)を使用している場合はリセットされないのはなぜですか?

  10. 10

    PHPスクリプトにキャッシュを追加する方法は?

  11. 11

    個々のプロセスのブロックキャッシュをオフにする方法は?

  12. 12

    シンボルプレフィックス付きのパターンをキャプチャする方法は?

  13. 13

    BundleCollectionにMVC4のキャッシュされたスクリプトバンドルを強制的にフラッシュする方法

  14. 14

    Spring Boot 2にアップグレードした後、キャッシュメトリックをプロメテウスに公開する方法は?

  15. 15

    iOSは、デバイスのホームボタンをクリックすると、アプリケーション画面をキャッシュします

  16. 16

    Linuxですべてのディスク書き込みをインターセプトしてキャッシュする方法は?

  17. 17

    CSRFトークンを使用してリクエストをキャッシュするときにServiceWorkerのキャッシュサイズを減らす方法

  18. 18

    Rのリストにデータをキャッシュする方法は?

  19. 19

    apacheignite-特定のクラスターグループにキャッシュをデプロイする方法

  20. 20

    makeステップ中に値をキャッシュする

  21. 21

    適応ステップサイズのルンゲクッタキャッシュカープを実装する方法は?

  22. 22

    方法:スキャンしたデータをIDから別のビューIOSのテキストボックスにインポートする(BLINKID)

  23. 23

    角度のあるhttpインターセプターで非同期スタイルでhttpリクエストをキャッシュする方法は?

  24. 24

    angle2 のテンプレートにロードされたスコープ変数にアクセスする前に ajax 呼び出しを適切に実行してキャッシュする方法は?

  25. 25

    Xcodeバージョン11.0ベータキャンバスのクラッシュを修正する方法は?

  26. 26

    Sparkデータフレームをキャッシュして別のスクリプトで参照する方法

  27. 27

    ワークボックスキャッシュをクロスオリジン応答にする方法は?

  28. 28

    Springでキャッシュ値にアクセスする方法

  29. 29

    shareReplayとReplaySubject-サブスクリプション前に最新の値をキャッシュするのはReplaySubjectのみです

ホットタグ

アーカイブ