...StacK...
پنج شنبه 17 بهمن 1387, 01:53 صبح
سلام دوستان به کد زیر نگاه کنید:
// xman.cpp : Defines the entry point for the console application.
#include"stdafx.h"
#include<iostream>
#include<ctype.h>
usingnamespace std;
//program writed in vc++ 2005
int main()
{
char clause[50];
do
{
cin.getline(clause,50,',');
if(*clause)cout<<"\t["<<clause<<"]\n";
}while(*clause);
cout<<"\n"<<clause;
return 0;
}
حالا به خروجی زیر نگاه کنید:
C:\xman\debug>xman
,
C:\xman\debug>
در اینجا من ورودی را "," دادم و برنامه خاتمه یافت.
دلیلش هم این هست که ارایه NUL هست و شرط حلقه شکسته میشه.
حالا به این خروجی نوجه کنید:
C:\xman\debug>xman
barnamenevis.org,stack,
[barnamenevis.org]
[stack]
,
[
]
,
[
]
,
[
]
,
[
]
,
[
]
^Z
[
]
من در این سری بعد از ورودی که در خط اول دادم 5 بار دیگه به برنامه ورودی "," رو دادم
و هر بار برنامه یک خط خالی رو برای من چاپ کرد و مهمتر اینکه شرط حلقه هم شکسته
نشد. !!! علت این امر چیه؟؟؟؟؟؟؟؟؟؟؟؟
// xman.cpp : Defines the entry point for the console application.
#include"stdafx.h"
#include<iostream>
#include<ctype.h>
usingnamespace std;
//program writed in vc++ 2005
int main()
{
char clause[50];
do
{
cin.getline(clause,50,',');
if(*clause)cout<<"\t["<<clause<<"]\n";
}while(*clause);
cout<<"\n"<<clause;
return 0;
}
حالا به خروجی زیر نگاه کنید:
C:\xman\debug>xman
,
C:\xman\debug>
در اینجا من ورودی را "," دادم و برنامه خاتمه یافت.
دلیلش هم این هست که ارایه NUL هست و شرط حلقه شکسته میشه.
حالا به این خروجی نوجه کنید:
C:\xman\debug>xman
barnamenevis.org,stack,
[barnamenevis.org]
[stack]
,
[
]
,
[
]
,
[
]
,
[
]
,
[
]
^Z
[
]
من در این سری بعد از ورودی که در خط اول دادم 5 بار دیگه به برنامه ورودی "," رو دادم
و هر بار برنامه یک خط خالی رو برای من چاپ کرد و مهمتر اینکه شرط حلقه هم شکسته
نشد. !!! علت این امر چیه؟؟؟؟؟؟؟؟؟؟؟؟