مشکل در بررسی تساوی رشته(درون تابع)
سلام دوستان من یه مشکلی داشتم.وقتی تو یه تابع خارج از بدنه اصلی دو رشته رو با هم مقایسه میکنم به مشکل برمی خورم ولی وقتی داخل بدنه اصلی مقایسه میکنم مشکلی وجود نداره..
لطفا راهنمایی کنین بگین مشکل کار کجاست؟
اینجا وقتی adad رو هم به عنوان ورودی میزنم بازم wrong میده(که نباید اینو بده!) :
#include "stdafx.h"
#include"iostream"
#include"conio.h"
#include"string"
using namespace std;
int pass(string x){
string z="adad";
if(x==z){
return 0;
}
else if(x!=z){
return 1;
}
}
void main(){
string a;
cin>>a;
pass(a);
if(0){
cout<<"correct";
}
else if(1)
{
cout<<"wrong";
}
_getch();
}
ولی وقتی توی بدنه اصلی اینکارو می کنم درست پاسخ میده و با تایپ adad به عنوان ورودی correct میده :
#include "stdafx.h"
#include"iostream"
#include"conio.h"
#include"string"
using namespace std;
int main(){
string a,b="adad";
cin>>a;
if(a==b){
cout<<"correct";
_getch();
return 0;
}
else{
cout<<"wrong";
_getch();
return 1;
}
}
مشکل کار کجاست ؟
نقل قول: مشکل در بررسی تساوی رشته(درون تابع)
نقل قول:
مشکل کار کجاست ؟
مشکلی در بین نیست دو برنامه که اشاره کردید کدها و کارشون با هم فرق داره شما اون بالا اومدی 0 و یک رو تو شرط گزاشی که اگه نمی زاشتی هم میشد چون همیشه 1 اجرا میشه اما اون پایین با متغییر ها بررسی کردی که منتطفا از بالایی دقت و اصول برنامه نویسی بیشتری داره.