PDA

View Full Version : اگه شما جای کامپایلر باشید این دستور رو چیکار میکنید؟



lidaline
جمعه 18 دی 1388, 19:13 عصر
نمیدونم اشکال چیه لطفا دقت کنید:

if ( M[i].str[t]==0 && result!=3 && result!=4 && result!=0 )
result =2;
که در اینجا M[i].str[t] =0 هست وresult =10 شما نظرتون چیه ؟
کامپایلر شرط رو رد میکنه و بدون انجام دستور دستورات بعدی رو انجام میده!
لطفا کمکم کنید:گریه:
آیا result باید 2 شود یا نه؟

mortezamsp
جمعه 18 دی 1388, 19:31 عصر
اینطوری کن ببین درست میشه یا نه !


if ( ! ( m[i].str[t]!=0 || rezualt==0 || rezualt==3 || rezualt==4 )
rezualt = 2 ;

clover
جمعه 18 دی 1388, 19:36 عصر
شما نظرتون چیه ؟
ظاهرا که شرط برقرار هست.

که در اینجا M[i].str[t] =0 هست وresult =10 شما نظرتون چیه ؟
در این مورد مطمئن هستید؟ مقادیر را دقیقا قبل از این شرط مشاهده کردید؟ یا فکر می کنید این مقادیر را دارند.

lidaline
جمعه 18 دی 1388, 19:40 عصر
ظاهرا که شرط برقرار هست.

در این مورد مطمئن هستید؟ مقادیر را دقیقا قبل از این شرط مشاهده کردید؟ یا فکر می کنید این مقادیر را دارند.
مطمئن ام.چک کردم درسته در ضمن برنامه جوریه که نمیتونم به جای && از || استفاده کنم

clover
جمعه 18 دی 1388, 19:51 عصر
ظاهرا چند سوال راجع به یک برنامه مطرح کردید، پیشنهاد می کنم کد برنامه را بذارید و تمام سوالات را در یک تاپیک مطرح کنید.
اینطوری می تونیم برنامه را تریس کنیم و علت را پیدا کنیم.

gh-reza
جمعه 18 دی 1388, 19:52 عصر
کد خیلی ناقصه و نمیشه نظر داد. مثلا شما اینو توی یه حلقه for نوشتی یا نه؟
if شما else هم داره یانه؟ مطمئنی i یا t از محدوده مجاز تخطی کرده یا نه؟
سه چهار سطر بالا و پائینش رو هم بذار و نترس که الگوریتمت لو بره