PDA

View Full Version : سوال: خروجی این حلقه while چگونه این می شود؟



complexcoding
پنج شنبه 28 اردیبهشت 1391, 01:23 صبح
دوستان سلام
شرط داخل حلقه از نوع اشاره گر کاراکتری هست ما عادت کردیم همش عدد باشه که شرطش درست یا مغایر با صفر باشه تا حلقه ادامه پیدا کنه اما این چطوری کار می کنه؟ لطفا

char *s="ALI";
while(*s)
{
Puts(s++);
}

خروجیش می شه :ALILII
خیلی ممنون از کمکتون

soorena
پنج شنبه 28 اردیبهشت 1391, 01:46 صبح
سلام

فرمان خط ۴ در اصل یک رشته رو به چاپ می‌رسونه که ارگومان ورودی اون ابتدای رشته هستش. شما تو یک حلقه ۳ بار ابتدای رشته رو یکی‌ به جلو می‌بری پس یعنی‌ دفعهٔ اول تمام رشته دفعهٔ بعد همهٔ رشته بجز کارکتر اول و دفعهٔ آخر تمام رشته به جز ۲ کارکتر اولی‌ چاپ می‌شه.

sr2m72
پنج شنبه 28 اردیبهشت 1391, 12:02 عصر
سلام.
شما از تابع puts استفاده کردین.
تابع puts برای چاپ رشته هستش.
اگر می خواهید ali را چاپ کنید باید از تابع چاپ کاراکتر استفاده کنید(putch یا putchar)
موفق باشید.