بازم سلام توضیحاتتون عالی بود جواب سوالمو گرفتم.نقل قول:
نوشته شده توسط n00b [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]*************
سلام.../// [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
****************
با توجه به اینکه استفاده ای از argc و argv تو برنامه نکردیم می تونید قسمت []int argc, char* argv رو حذف کنید و داخل پرانتز چیزی ننویسید!..///از argc و argv برای بررسی آرگومان هایی که کاربر از خط فرمان به برنامه ارسال می کنه استفاده میشه../// [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
***********************
argc یه متغییر عددی هستش که تعداد آرگومان های ارسال شده به برنامه داخلش ذخیره میشه و مقدارش به صورت پیشفرض برابر با یک هستش چون حتی اگه کاربر آرگومانی به برنامه ارسال نکنه اسم برنامه همیشه به عنوان یه آرگومان به برنامه ارسال میشه../// [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
***************************
argv یه آرایه دو بعدی کاراکتری هستش که مقدار آرگومان ها رو ذخیره می کنه// هر آرگومان تو یه ردیف از این آرایه ذخیره میشه و مقداری که تو ردیف اولش ذخیره میشه همیشه برابر با نام برنامه (نام فایل exe) هستش و آرگومان های دیگه اگه وجود داشته باشند تو ردیف های بعدی قرار می گیرن// در واقع argc تعداد ردیف های آرایه دو بعدی argv رو مشخص می کنه..//// [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
******************************
فکر می کنم بهتر باشه یه برنامه ساده برای این بررسی این دو متغییر بنویسید و با آرگومان های مختلف اجراش کنید تا بهتر این موضوع رو متوجه بشید!../// [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
*********************************
***********************کد://program.cpp
#include <iostream>
using namespace std;
int main (int argc, char* argv[])
{
cout << "Have " << argc << " argument(s):" << endl;
for (int i = 0; i < argc; ++i) {
cout << argv[i] << endl;
}
}
برنامه رو با آرگومان های مختلف اجرا کنید و خروجی رو مشاهده کنید برای مثال
C:\>Program.exe
C:\>Program.exe arg1 arg2
C:\>Program.exe 1 2 3 4 5
;using namespace std یعنی از فضای نام std تو برنامه استفاده می کنیم// اگه این خط رو حذف کنید باید قبل از تمام توابعی که داخل فضای نام std تعریف شدن ::std بنویسید تا مشخص بشه از کجا فراخوانی شدن./// برای مثال به جای cout بنویسید std::cout و به جای endl بنویسید std::endl و...//// من برنامه ها رو به زبان ++C نوشتم اما این طور مشخصه شما برنامه ها رو به زبان C می خواستید/// [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
***************************
اگه خوب توضیح ندادم بگید تا بهتر توضیح بدم../// [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
************************
موفق باشید! [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
فقط یک سوال دیگه داشتم INT_MAX که نوشتید در روش اولتون چه کاری انجام میده معادلی نداره در زبان c.