نمایش نتایج 1 تا 2 از 2

نام تاپیک: دلیل جواب غیر منتظره در برنامه اسکی؟

  1. #1

    Question دلیل جواب غیر منتظره در برنامه اسکی؟

    سلام
    من یک برنامه نویشتم که یک کاراکتر را دریافت می کند و کد مبنای 16 آن را بدست می آورد و این کار را هم درست انجام می دهد ولی بعد از هر جواب یک a چاپ می کند و من هم نمی دانم دلیل کار او چیست.
    شما می دانید چرا؟

    //ASCII.c
    main()
    {
    char b;
    while(1)
    {
    scanf("%c",&b);
    printf("%x\n",b);
    }
    }






    Screenshot (383).png

  2. #2

    نقل قول: دلیل جواب غیر منتظره در برنامه اسکی؟

    نقل قول نوشته شده توسط شسیشسی مشاهده تاپیک
    سلام
    من یک برنامه نویشتم که یک کاراکتر را دریافت می کند و کد مبنای 16 آن را بدست می آورد و این کار را هم درست انجام می دهد ولی بعد از هر جواب یک a چاپ می کند و من هم نمی دانم دلیل کار او چیست.
    شما می دانید چرا؟

    //ASCII.c
    main()
    {
    char b;
    while(1)
    {
    scanf("%c",&b);
    printf("%x\n",b);
    }
    }

    دلیل این است که تابع scanf بعد از خواندن کاراکتر موردنظر بافر ورودی را ‍‍‍‍‍‍پاک نمی کند و در تکرار بعدی حلقه کد اسکی کلید Enter که برابر با 10 است را خوانده که بلافاصله چاپ می شود ( در مبنای ۱۶ مساوی است با a ) .
    برای حل این مشکل چند راه وجود دارد، یکی افزودن یک scanf("%c"); بعد از دریافت ورودی و دیگری اضافه کردن یک فاصله یا space درون رشته فرمت تابع، بصورت زیر:
    scanf(" %c",&b);
    آخرین ویرایش به وسیله n07im3 : شنبه 17 اردیبهشت 1401 در 02:20 صبح

تاپیک های مشابه

  1. تفسیر اطلاعات مجود در یک فایل غیر متنی؟
    نوشته شده توسط vb.civil در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: سه شنبه 14 شهریور 1396, 22:50 عصر
  2. سوال: لیست باکس با عناصر غیر تکراری؟
    نوشته شده توسط sajadjamalian در بخش C#‎‎
    پاسخ: 10
    آخرین پست: دوشنبه 11 اردیبهشت 1391, 13:54 عصر
  3. e.handle اگه true باشه یعنی چی؟ اگه false باشه یعنی چی؟
    نوشته شده توسط sajad_3dmax در بخش C#‎‎
    پاسخ: 1
    آخرین پست: پنج شنبه 31 شهریور 1390, 11:15 صبح
  4. سوال: غیر فعال بودن فرم هنگام Show کردن آن (بگو برای چی؟)
    نوشته شده توسط Rejnev در بخش C#‎‎
    پاسخ: 2
    آخرین پست: جمعه 18 تیر 1389, 22:47 عصر
  5. ایجادیک شی درزمانRuntime بروی فرمی غیرازفرم جاری؟
    نوشته شده توسط AlirezaBahredar در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: پنج شنبه 05 مهر 1386, 10:31 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •