راهنمایی برای تصحیح یک قطعه کد ++C

بپرسید
  • fga.farshad fga.farshad
  • 97 ماه قبل
  • 97 ماه قبل
  • 362 نمایش

0

{{ digitTrunc(content.likes) }}

درود

یه قطعه کد دارم که کارش دریافت یک رشته و معکوس کردن اون هست، این کد با استفاده از یک تابع (که وظیفه‌ی معکوس کردن رو بر عهده داره نوشته شده) ورودی‌های تابع رو با استفاده از اشاره‌گر فرستادم:

میشه گفت تقریبا بدون مشکل کار میکنه ولی نمیدونم چرا بعد از اینکه معکوس رو نمایش داد، یکسری کارکتر نامفهوم+خود رشته‌ی ورودی رو چاپ می‌کنه، به این صورت:

درود

یه قطعه کد دارم که کارش دریافت یک رشته و معکوس کردن اون هست، این کد با استفاده از یک تابع (که وظیفه‌ی معکوس کردن رو بر عهده داره نوشته شده) ورودی‌های تابع رو با استفاده از اشاره‌گر فرستادم:

میشه گفت تقریبا بدون مشکل کار میکنه ولی نمیدونم چرا بعد از اینکه معکوس رو نمایش داد، یکسری کارکتر نامفهوم+خود رشته‌ی ورودی رو چاپ می‌کنه، به این صورت:
||http://tosinso.com/files/get/d48ab9e6-d90a-4ffd-99a7-b94b964843ff||

استادمون گفت کافیه یه خط کد به آخر تابعت اضافه کنی تا مشکل حل بشه (انتهای تابع، محلی که با نقطه‌چین مشخص کرده) ولی از دیروز تا حالا هرچی تلاش میکنم مشکلش حل نمیشه، کد من به این صورت هست:
<cpp>
#include <iostream>
#include <conio.h>
using namespace std;

void riverse(char *a,char *b, int m);
int main()
{
    char x[1000], y[1000];
    int i;
    cin>>x;
    for( i=0;x[i]!='\0';i++);
    riverse(x,y,i-1);
    cout << y << endl;
	getch();
    return 0;
}
void riverse(char *a,char *b, int m)
{
    int i;
    for( i=0;i<=m;i++)
        b[m-i]=a[i];
//.........................
}
<cpp>

ممکنه راهنماییم کنید و بگید چه مشکلی در کد هست و چطوری میشه برطرفش کرد؟

پیشاپیش سپاس بابت راهنماییتون

استادمون گفت کافیه یه خط کد به آخر تابعت اضافه کنی تا مشکل حل بشه (انتهای تابع، محلی که با نقطه‌چین مشخص کرده) ولی از دیروز تا حالا هرچی تلاش میکنم مشکلش حل نمیشه، کد من به این صورت هست:

#include <iostream>
#include <conio.h>
using namespace std;

void riverse(char *a,char *b, int m);
int main()
{
    char x[1000], y[1000];
    int i;
    cin>>x;
    for( i=0;x[i]!='\0';i++);
    riverse(x,y,i-1);
    cout << y << endl;
	getch();
    return 0;
}
void riverse(char *a,char *b, int m)
{
    int i;
    for( i=0;i<=m;i++)
        b[m-i]=a[i];
//.........................
}

ممکنه راهنماییم کنید و بگید چه مشکلی در کد هست و چطوری میشه برطرفش کرد؟

پیشاپیش سپاس بابت راهنماییتون

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

پاسخ ها به این سوال

پاسخ ها به این سوال

{{ digitTrunc(post.likes) }}

این پست در تاریخ {{ dateString(new Date(post.deleteDate)) }} توسط {{ post.deletedByUser }} حذف شده است.

دلیل حذف: {{ post.deleteReason ?? 'نامشخص' }}

{{ err }}
{{ post.userAchivements.rhodiumAchievements }}
{{ post.userAchivements.platinumAchievements }}
{{ post.userAchivements.goldAchievements }}
{{ post.userAchivements.silverAchievements }}
{{ post.userAchivements.bronzeAchievements }}
{{ timeSince(new Date(post.date)) }} قبل

برای ثبت پاسخ خود در وب سایت وارد حساب کاربری خود شوید
قابلیت ارسال مطلب توسط مدیریت سایت غیر فعال شده است