PDA

View Full Version : چرا از این دستور خطایی گرفته نشد؟



MiniMicro
چهارشنبه 23 اسفند 1391, 09:58 صبح
سلام خدمت همه دوستان من تو Visual C ++ این برنامه رو نوشتم اما کامپایلر هیچ خطایی از من نگرفت آیا میدونید دلیلش چیه؟
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
cout<<"Salam!";"salam!";"salam!";

}

ho3ein.3ven
چهارشنبه 23 اسفند 1391, 10:16 صبح
سلام خدمت همه دوستان من تو Visual C ++ این برنامه رو نوشتم اما کامپایلر هیچ خطایی از من نگرفت آیا میدونید دلیلش چیه؟
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
cout<<"Salam!";"salam!";"salam!";

}


سلام.خب کامپایلر وقتی ; رو میبینه دیگه نگاهی به بعد از ; نمی کنه و اون خط رو همونجا تموم میکنه و به خط بعد میره.به خاطر همین خطا نمیگیره.

developing
چهارشنبه 23 اسفند 1391, 10:17 صبح
با سلام

خب معلومه که خطایی گرفته نمی شه.(البته دلیل دوستمون ho3ein.3ven (http://barnamenevis.org/member.php?236082-ho3ein.3ven) تقریبا درسته اما من دلیل رو کامل تر مطرح می کنم لطفا تا آخر بخوانید)

در زبان ++C انتهای هر دستور با سمی کالن نمایش داده می شه. من برای روشن شدن برنامه ی شما رو به صورت زیر بازنویسی می کنم

#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
cout<<"Salam!";
"salam!";
"salam!";

}




خط 6 دستور نمایش متن مورد نظر.
خط 7 و 8 هم تعریف ساده ی یک ثابت رشته ای هست.

حالا برای اینکه ببینیم چی می شه من یک برنامه ی دیگه میذارم و شما کامپایلش کنید:(قطعا کامپایل می شه)

#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
132;
"ahmad";
'a';
cout << "salam";
}


توضیحات:
خط 6 یک ثابت عددی
خط 7 هم یک ثابت رشته ای
خط 8 هم یک ثابت کاراکتری

پس نتیجه و دلیل کامپایل شدن برنامه شما: در زبان ++C ثابت ها هم به عنوان یک دستور درست تلقی می گردند.

MiniMicro
چهارشنبه 23 اسفند 1391, 10:56 صبح
سلام آقا دم همتون گرم فهمیدم چی شد؟

انشاءالله جبران کنیم.....