Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

Cプログラミングでコンパイラが整数の後に文字列を読み取らないのはなぜですか?


問題

コンパイラがCプログラミングで整数の後に文字列を読み取らない?この問題をどのように解決できますか?

解決策

整数を入力し、Enterキーを押して次の値を読み取ると、コンパイラはnullを文字列の最初の文字に格納し、文字列の入力は終了します。 scanfは、ヌル文字を読み取るたびに終了するためです。

それを解決する方法は?

intまたはfloatの後に文字列または文字を読み取ろうとするときは、入力バッファに存在する一時文字を読み取る必要があります。

以下はエラーのないプログラムです-

#include <stdio.h>
struct student{
   char name[10];
   int roll;
   char temp;
} s;
int main(){
   printf("Enter information of students:\n");
   printf("\nEnter roll number: ");
   scanf("%d", &s.roll);
   scanf("%c",&s.temp); //read temporary character
   printf("\nEnter name: ");
   gets(s.name);
   printf("\nDisplaying Information of students:\n");
   printf("\nRoll number: %d\t", s.roll);
   printf("\nname:%s\t", s.name);
   return 0;
}

出力

Enter information of students:
Enter roll number: 3
Enter name: tutorialspoint
Displaying Information of students:
Roll number: 29806
name:tutorialspoint

  1. BIOSの更新後にTPMを初期化できませんでした

    Windows11またはWindows10コンピューターでBIOSを更新した後、システムを起動したが、BIOSスプラッシュ画面の後に、エラーメッセージTPMを初期化できませんでしたが表示された場合 これにより、OSの起動を続行したり、ユーティリティをセットアップしたりすることができなくなります。この投稿は、この問題を解決するための最適なソリューションを提供することを目的としています。 この問題が発生すると、次の行に沿って同様の完全なエラーメッセージが表示されます。 警告:TPMを初期化できませんでした。 F1キーを押して続行し、F2を押してセットアップユーティリティを実行します。F

  2. WhatsApp の通知が届かないのはなぜですか?この問題を解決するにはどうすればよいですか?

    理由 WhatsApp 通知が機能しなくなりましたか?通知の音が出ないこともあれば、メッセージのプレビューが表示されないこともあります。 さて、問題の背後にはいくつかの理由が考えられます。最近の WhatsApp の更新、不安定なインターネット接続、データ制限、アプリのキャッシュ、またはファームウェアの問題が原因である可能性があります。いずれにせよ、これは厄介な問題であり、できるだけ早く解決する必要があります. この投稿では、Android デバイスで「WhatsApp 通知が届かない」問題を解決するための 7 つの効率的なヒントについて説明します。 「WhatsApp 通知が表示され