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

C言語でscanf()ステートメントを使用しているときに発生する一般的なエラーは何ですか?


問題

C言語のscanf()関数を使用して文字列と数値データを読み取るときに一般的なエラーが発生しました

解決策

scanf()関数 C言語でstdinからフォーマットされた入力を読み取るために使用されます。それ以外の場合は、書き込まれた文字の整数を返し、負の値を返します。

一般に、ユーザーから整数の後に文字列値を読み取っているときにscanf()関数を使用すると、エラーが頻繁に発生します。

以下は、ロール番号(整数値)と学生の名前を読み取るCプログラムです-

#include <stdio.h>
struct student {
   char name[10];
   int roll;
} s;
int main(){
   printf("Enter information of students:\n");
   printf("\nEnter roll number: ");
   scanf("%d", &s.roll);
   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;
}

出力

上記の例では、ロール番号:がコンパイラによって読み取られました。その後、コンパイラは名前を読み取ることができず、printf( "ロール番号は:%d \ t、s.roll);>

and the output is "Roll number: 3
name: "

これは、C言語のscanf()関数を使用して文字列および数値データを読み取るときに発生する一般的なエラーです。

Enter information of students:
Enter roll number: 3
Enter name: //error
Displaying Information of students:
Roll number: 3
name: //error

  1. セットアップの実行中にエラー[-5005:0x80070002]が発生しました

    インストールしようとしたとき、または特にWindows 10の[プログラムと機能]アプレットを使用してプログラムをアンインストールしようとしたときに、エラーメッセージセットアップの実行中にエラー[-5005:0x80070002]が発生しました 付随するエラーコードとともに、この投稿はあなたを助けることを目的としています。 5005以外の値でエラーが発生する可能性があることに注意してください –この投稿の解決策は引き続き適用されます。 プログラムによっては、この問題が発生すると、次の同様のエラーメッセージが表示されます。 セットアップの実行中にエラー(-5005:0x800700

  2. 修正:JavaVMのロード中に発生したWindowsエラー2

    「JavaVMのロード中に発生したWindowsエラー2 」エラーは通常、ユーザーがどこでも起動を起動しようとしたときに発生します ソフトウェアおよび実行するためにユーザー名とパスワードを必要とする他のいくつかのプログラム。この問題の原因となっているすべてのプログラムが、LaunchAnywhereソフトウェアと同じバックエンドを使用しているようです。 この問題を調査したところ、この問題は JAVA.exeの変更によって引き起こされたことが判明しました。 内部ビルド。 Java 1.8.0.60以降 、Javaは内部ビルドを 600、として報告しています 60の代わりに 以前のバ