با سلام من یک متغیر را اینطوری char alarm[]="NO"; تعریف کردم ومشکلی نداره وکلمه no را نمایش میده اما وقتی در وسط برنامه مینویسم alarm[]="yes" کدویژن error میده کسی میتونه کمک کنه
اطلاعیه
Collapse
No announcement yet.
مقدار دهی متغیر در کدویژن
Collapse
X
-
پاسخ : مقدار دهی متغیر در کدویژن
اون فرم اول assignment نیست. چون کامپایلر میفهمه دارین برای این کاراکتر هایی که قطار کردین میخوایین اسم تعریف کنین. بنابراین اینا رو جایی در حافظه قرار میده و اون آدرس رو معادل اسم آرایه میگیره. یعنی در حقیقت کدی اجرا نمیشه.
ولی در حالت دوم باید یک کد اجرا بشه. و این کار برای کپی کردن اطلاعات رشته ها بایستی از طریق تابع strcpy (یا بطور عمومی تر با تابعی مثل memcpy) انجام بشه.
بعدش هم اصلا این فرم کد نویسی سطر کذایی در وسط برنامه در C غلط هست.
-
پاسخ : مقدار دهی متغیر در کدویژن
داداش من فکر کنم این کار رو اینجوری می تونی انجام بدی:
کد:sprintf(str,"num = %u",a); lcd_puts(str); sprintf(str,"hello world"); lcd_puts(str);
کلا فکر می کنم تابع sprintf میاد اون رشته رو توی str (متغیر) ذخیره می کنه.هستم اگر می روم گر نروم نیستم
دیدگاه
دیدگاه