/7)编写程序,将用户输入的字符串中从第i个到第j个之间的字符逆序颠倒。(字符串、i、j的值都由用户从键盘输入)
例如: 输入字符串:abcdefgh
输入i:3
输入j:7
颠倒以后的字符串为:abgfedch/
#include <stdio.h>
#include <stdlib.h>
#include<iostream>
#include<string>
using namespace std;
int main()
{
char a[30];
cout << "输入字符串:";
cin >> a;
char *p=a;
int i, j, k;
cout << "输入i:";
cin >> i;
cout << "输入j:";
cin >> j;
cout << "颠倒以后的字符串为:";
for(k=0;k<i-1;k++)
cout << *(p + k);
for (k = j-1; k >= i - 1; k--)
cout << *(p + k);
for(k=j;*(p+k)!='\0';k++)
cout << *(p + k);
return 0;
}
大一软件工程学生,请教一下各位这是什么意思
p的值是地址,你的截图已经很明白了,j和k的是一个错误的大值,导致p越界