2 zay999abc zay999abc 于 2015.06.16 19:58 提问

请大家看看这个程序错在哪?

#include
#include
using namespace std;
int main(void)
{
char ch;
int i=1;
char *before = new char[1],*temp;
while (cin >> ch)
{
temp = new char[i];
temp[i - 1] = ch;
for (int j = 0; j < i - 1; j++)
temp[j] = before[j];
delete[] before;
before = temp;
++i;
}
for (int j = 0; j < i - 1; j++)
cout << temp[i];
}

4个回答

gamefinity
gamefinity   Rxr 2015.06.16 20:35
已采纳

最后

for (int j = 0; j < i - 1; j++)
 cout << temp[i];

错了吧,循环变量是j,应该是

for (int j = 0; j < i - 1; j++)
 cout << temp[j];

而且temp[i]是一个申请的存储空间()

zay999abc
zay999abc 谢谢。
大约 3 年之前 回复
gamefinity
gamefinity temp[i]是一个未申请的存储空间
大约 3 年之前 回复
a1193561652
a1193561652   Rxr 2015.06.16 20:36

语法上没发现什么问题,逻辑上不知道你想实现的是什么功能,没法检查,不过最后的输出的数组的下标应该是j吧。

zay999abc
zay999abc 谢谢。
大约 3 年之前 回复
frank_20080215
frank_20080215   2015.06.16 21:56

temp = new char[i];
i= 1;
这个数组只有一个元素,再++i;数组已经越界了

dominating413421391
dominating413421391   2015.06.17 11:02

最后输出的时候temp[i]应该改为temp[j]

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
大家帮我看看这个正则错在哪了??
大家帮我看看这个正则错在哪了?? 伪静态规则: RewriteRule ^/so\?k=(\d+)&wd=(.*)&xj=(\d+)&pn=(\d+)$ /sea\.asp\?kid=$1&kw=$2&picxj=$3&page=$4 http://127.0.0.1/sea.asp?kid=5&kw=%D6%B2%CE%EF&picxj=&page=2 转换成 http
ADC的模拟看门狗
ADC的模拟看门狗用于检查电压是否越界。他又上下两个边界,可分别在寄存器ADC_HTR和ADC_LTR中设置。库函数是使用ADC_AnalogWatchdogThresholdsConfig设置的,无论是常规通道还是注入通道,都非常简单。 当模拟看门狗检测到电压高于上限或者低于下限时将会产生看门狗中断。捕获这个中断,可以做出一些应对措施。 数据手册上特别之处的一个东西:模拟看门狗说使用的比较数据
我编了一个程序不知道那李出了错请大家看看
我编了一个程序不知道那李出了错请大家看看,请大家帮帮忙啊!
有关lingo程序下载,大家下吧
lingo程序,大家帮忙找出问题的所在,想了好久还是不知道错在哪
请看看这个组合算法哪里出了错?
#include int c[5]; void comb(int start,int combinN,int r){ int i; if(combinN==0)    {  for(i = 0; i   cout  cout } else {  for(i=start; i+combinN   {    c[r] = i+1;    comb(start+1,combinN-1,r+1);  } 
大家帮我看看这个程序
输入3个整数a,b,c,要求按由大到小的顺序将他们输出。(这是我打的程序,为什么要输好三个数字后按回车不出结果,而且,要再输入点别的内容,再按回车才出结果??? #include int main() {void exchange(int*q1,int*q2,int*q3); int a,b,c,*q1,*q2,*q3; scanf("%d,%d,%d\n",&a,&b,&c); q1
获取ACCESS97数据库密码,大家帮我一下错在哪了.
获取ACCESS97数据库密码,大家帮我一下错在哪了.
Jvideo中复制某个视频文章页的地址到浏览器,会自动跳转到jvideo前台首页问题解决。
解决方法:这是防盗链引起的,删除“video/manage/opr_play_front.jsp”中相应代码即可。需要删除的代码:if(strUrlReferer.length() == 0){        if(session.getAttribute("strUrlReferer") == null){             out.println(Convert.getAlterSc
闾丘露薇:我的婚姻错在哪
闾丘露薇:我的婚姻错在哪 中国妇女报     (2005-03-16)  生活在不断地变化,我们两个人也在不断地变化。我们面对的生活的选择越来越多,我们对于人生的看法开始越来越不一样,我们选择的生活的方式也开始不一样。   这个时候,我们两个人没有能够及时地看到这一点,没有能够停下来,大家好好地沟通,看看如何来解决,而是自顾自地不停地往前走。于是忽然我们发现,我们变得越来越陌生,越来越没有话说。曾
VB程序错在哪?
Private Sub Command1_Click()    Dim i, a(5), b(5), c(5) As String      For i = 1 To 5       a(i) = InputBox("输入a:")         Print a(i)    Next i    For i = 1 To 5      b(i) = InputBox("输入b:")