اطلاعیه

Collapse
No announcement yet.

تابع با بازگرداندن رشته

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    تابع با بازگرداندن رشته

    سلام
    من یه برنامه نوشتم که یک رشته بر می گردونه ولی error میده، اگه می شه راهنمایی کنید
    [left][right][pre][pre][right][center][left](char* sptial_str(int HBL,int HBH,int VBL,int VBH
    {
    ;[char space_info[4
    ;(sprintf(space_info,"%x%x%x%x",HBL, HBH, VBL, VBH
    ;return space_info
    }

    expression must be a modifiable lvalue

    #2
    پاسخ : تابع با بازگرداندن رشته

    از نظر برنامه نویسی زبان سی برنامه درسته

    فقط فراموش نکن که متغییری که خروجی تابع رو به

    اون اختصاص دادی باید از نوع پوینتر باشه .

    اصل مطلب هم کامپایلر هست که شما نگفتی
    از جمله ی رفتگان این راه دراز
    باز آمده ای کو که به ما گوید راز
    هان بر سر این دو راهه از روی نیاز
    چیزی نگذاری که نمی آیی باز

    دیدگاه


      #3
      پاسخ : تابع با بازگرداندن رشته

      نوشته اصلی توسط Hossein.N
      سلام
      من یه برنامه نوشتم که یک رشته بر می گردونه ولی error میده، اگه می شه راهنمایی کنید
      [left][right][pre][pre][right][center][left](char* sptial_str(int HBL,int HBH,int VBL,int VBH
      {
      ;[char space_info[4
      ;(sprintf(space_info,"%x%x%x%x",HBL, HBH, VBL, VBH
      ;return space_info
      }

      expression must be a modifiable lvalue
      متغیر های محلی فقط درون تابعی که تعریف میشن اعتبار دارن. وقتی از اون تابع خارج میشید اون متغیر دیگه وجود نداره و اون قسمت از حافظه آزاد میشه و ممکنه برای متغیر دیگه ای استفاده بشه.
      شما باید یا space_info رو خارج از تابع تعریف کنید که در این صورت همیشه وجود داره، یا باید به تابع پاسش بدید.

      (void sptial_str(char* space_info, int HBL, int HBH, int VBL, int VBH
      {
      ;(sprintf(space_info,"%x%x%x%x",HBL, HBH, VBL, VBH
      }

      int main()
      {
      char str[100];
      sptial_str(str, 0, 0, 0, 0);
      return 0;
      }

      دیدگاه


        #4
        پاسخ : تابع با بازگرداندن رشته

        اگه می خواهی
        کد:
        ;[char space_info[4
        رو برگردونی به صورت یه اشاره گر تعریفش کن ولی باهاش مثل یک آرایه رفتار کن
        کد:
        char* space_info;
        space_info[0] = 1;
        space_info[1] = 2;
        ...
        آدمی از عالم خاکی نمی آید بدست

        عالمی دیگر بباید ساخت و از نو آدمی
        پردازش تصویر با FPGA از صفر تا انتها
        http://www.eca.ir/forum2/index.php?topic=74299.0

        دیدگاه

        لطفا صبر کنید...
        X