请教一个关于遍历string变量的程序调试问题

最近刚刚深入的学习c++,但是碰到了点问题,想请贴吧里的高手好心解答以下,我想通过这个程序实现string类型变量的遍历,然后采集出该string变量里的数字,然后在调试的时候出现了以下问题图片说明 上图是我调试的过程,首先在断点之前程序运行的还算正常,我输入的是4(空格)9(空格),想要采集出4和9分别存在data[0]和data[1]中,然后我在断点处开始逐句调试,就出现下图中“读取字符串字符时出错”的问题,这个问题困扰了我一个下午了,心好累图片说明

3个回答

你这里问题在于,n每次循环都赋值为0,然后data[n]在得到字符为‘9’时,将之前的data[0]=4覆盖了,但是data[1]始终没有初始化,所以在你对位置内存取值时会出现问题。

char n;
这是什么鬼。

Jeremy_Ren
Jeremy_Ren 我把它换成了int n;了 但是主要问题就是我设置的断点处那边读取string数组里的字符出错,不知道为什么哎
2 年多之前 回复

认同“wuxie318 ”的回答,你可以吧“int n;”的定义放在for循环外面,不会影响程序运行。
还有,(我是个新手)“using namespace std”的声明可以放在函数体内吗?

u010494935
一条寻水的鱼 可以
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问