سؤال

لا أستطيع أبدا فهم كيفية الطباعة unsigned long نوع البيانات في ج.

افترض unsigned_foo هو unsigned long, ، ثم أحاول:

  • printf("%lu\n", unsigned_foo)
  • printf("%du\n", unsigned_foo)
  • printf("%ud\n", unsigned_foo)
  • printf("%ll\n", unsigned_foo)
  • printf("%ld\n", unsigned_foo)
  • printf("%dl\n", unsigned_foo)

وجميعهم يطبعون نوعا من -123123123 عدد بدلا من unsigned long هذا ما لدي.

هل كانت مفيدة؟

المحلول

%lu هو التنسيق الصحيح ل unsigned long.يبدو أن هناك مشكلات أخرى قيد التشغيل هنا ، مثل تلف الذاكرة أو متغير غير مهيأ.ربما تظهر لنا صورة أكبر?

نصائح أخرى

  • %lu بالنسبة موقعة طويلة
  • %llu بالنسبة غير طويل

بالنسبة الباحث %d

بالنسبة طويلة الباحث %ld

بالنسبة كثافة طويل %lld

بالنسبة موقعة كثافة طويل %llu

من بين كل المجموعات التي جربتها, %ld و %lu هي الوحيدة التي هي محددات تنسيق برينتف صالحة على الإطلاق. %lu (عشري طويل غير موقع), %lx أو %lX (عرافة طويلة بأحرف صغيرة أو كبيرة) ، و %lo (ثماني طويل) هي محددات التنسيق الصالحة الوحيدة لمتغير من النوع غير موقع طويل (بالطبع يمكنك إضافة عرض الحقل والدقة والمعدلات وما إلى ذلك بين % و ال l).

giveacodicetagpre.

سيكون هذا مفيدا.وبعد.

الشكل هو %lu.

يرجى التحقق من مختلف أنواع البيانات الأخرى واستخدامها في برينتف هنا

المحدد الصحيح لفترة طويلة غير موقعة هو %lu.

إذا كنت لا تحصل على القيمة الدقيقة التي تتوقعها ثم قد يكون هناك بعض المشاكل في التعليمات البرمجية الخاصة بك.

يرجى نسخ الرمز الخاص بك هنا.ثم ربما يمكن لشخص ما أن يخبرك بشكل أفضل ما هي المشكلة.

كان لدي نفس المشكلة.حاول "٪ ul"، وهو يعمل بالنسبة لي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top