今天做题碰到个小问题,直接输出string类型变量的名称结果显示什么都没有。
源代码如下:
#include "pch.h"
#include <iostream>
#include<string>
#include<string.h>
using namespace std;
int main()
{
string copy(string origin, int m, string goal);
string a, b;
int m;
cout << "输入原字符串及复制点m(数字):";
cin >> a >> m;
b = copy(a, m, b);
cout << "复制后得到的新字符串:"<<b <<endl;
system("pause");
return 0;
}
string copy(string origin, int m, string goal)//将origin字符串自m个字符之后的所有字符复制到goal中去
{
char*p, *q;
p = &origin[m - 1];
q = &goal[0];
for (int i = 0; *p!= '\0'; i++)
{
*q = *p;
q++;
p++;
*q = '\0';
}
cout<<goal;
return goal;
}
结果图
新字符串后是一片空白。。。。。
求大佬解答一下原因。