最近刚刚深入的学习c++,但是碰到了点问题,想请贴吧里的高手好心解答以下,我想通过这个程序实现string类型变量的遍历,然后采集出该string变量里的数字,然后在调试的时候出现了以下问题 上图是我调试的过程,首先在断点之前程序运行的还算正常,我输入的是4(空格)9(空格),想要采集出4和9分别存在data[0]和data[1]中,然后我在断点处开始逐句调试,就出现下图中“读取字符串字符时出错”的问题,这个问题困扰了我一个下午了,心好累
char n;
这是什么鬼。
你这里问题在于,n每次循环都赋值为0,然后data[n]在得到字符为‘9’时,将之前的data[0]=4覆盖了,但是data[1]始终没有初始化,所以在你对位置内存取值时会出现问题。
认同“wuxie318 ”的回答,你可以吧“int n;”的定义放在for循环外面,不会影响程序运行。
还有,(我是个新手)“using namespace std”的声明可以放在函数体内吗?
”