PDA

View Full Version : اشکال این برنامه چیه؟؟!!!



هانی هاشمی
پنج شنبه 18 مرداد 1386, 13:37 عصر
سلام

#include <conio.h>
#include <string.h>
#include <iostream.h>

int main() {
char* str;
cout << "Enter Your String:";
cin >> str;
int x=(int) strlen(str);
for (int i=0;i<x;i++) {
cout<< str[i];
}
getch();
return 0;
}وقتی این برنامه رو اجرا می کنم موقع تموم شدن برنامه از سی می پره بیرون و ارور زیر رو می ده مشکل از کجاست.

emad_67
پنج شنبه 18 مرداد 1386, 14:20 عصر
خوب این ارور رو قاعدتا نباید بگیره ولی کد شما هم مشکل داره
شما str رو از نوع اشاره گر تعریف کردین ومتغییر اشاره گر رو نمیشه با cin مقدار دهی کرد کد رو اینجوری هم تست کنید دیگه فکر نکنم مشکلی داشته باشه ضمنا نیازی به تبدیل ضمنی مقدار برگشتی strlen به int نیست چون مقدار یه رشته که اعشاری نمیشه. در مورد ارور هم اصلا فکر نمیکنم ربطی به کد داشته باشه البته من یه همچین اروری رو داشتم که بعدا فهمیدم کامپیوتر ویروسی بوده ولی در فقط موقع کامپایل و اجرا هم رخ نمیداد. حالا در مورد این مورد رو نمیدونم


#include <conio.h>
#include <string.h>
#include <iostream.h>

int main()
{
char str[10];
cout << "Enter Your String:";
cin >> str;
int x=strlen(str);
for (int i=0;i<x;i++) {
cout<< str[i];
}
getch();
return 0;
}