c++-C++语言定义二维字符串的问题

问题描述

C++语言定义二维字符串的问题

这个程序是要判断括号对是否匹配的,但是执行到scanf("%s",pour[i]);提示了错误,所以就简化了main函数,只把出现错误的写了出来,让大神看看是哪里出来问题。

错误提示如下。通过设置的断点表明,该错误是在执行了scanf("%s",pour[i]);之后,要往下执行的时候出现的,希望各位老师不吝赐教。

解决方案

1)pour[i]没有分配空间。
2)scanf 不能直接调用 string 变量。

 for(int i=0;i<a;i++)
{
    pour[i].resize(100);
    scanf("%s",&pour[i][0]);

解决方案二:

贴完整的程序到codepad.org或者用</>按钮。贴图怎么帮你

解决方案三:

用cin读取到string中。

解决方案四:

 int main(void){
int a;
scanf("%d",&a);
    string *result = new string[a];//记录判断结果为yes或者no
    string *pour = new string[a];//记录初始输入的括号对

for(int i=0;i<a;i++)
{
scanf("%s",pour[i]);
        if(pour[i][0] == ']' || pour[i][0] == ')')
        {
            result[i] = "No";
        }
        else
        {
            result[i] = "Yes";
        }
}
时间: 2024-10-03 03:43:41

c++-C++语言定义二维字符串的问题的相关文章

指针-C语言的二维数组的值的修改

问题描述 C语言的二维数组的值的修改 例如:char a[][7]={"foo","bar","foobar"}; 想调换a[0]和a[2]的值 利用指针的话 应该用什么办法 解决方案 数组虽然说可以看成指针,但是可以认为它是常量指针,因此没有办法直接换指针,因此只有吧两个数组内的数据各自交换 void swap(char *a,char *b,int n) { for (i=0;i<n;i++) *a++=*b++; } void mai

链接传参数-C语言,二维数组的元素,相同位置对应相加。求大神指教。

问题描述 C语言,二维数组的元素,相同位置对应相加.求大神指教. 两个二维数组,13列X64行,读取文件,元素相同位置对应相加,再求平均数.写出来之后,无法运行,一直都是seg fault11.还请大神指教. #include #include #include #include /*main program*/ int main() { int i,j,ave = 0; float filename1[832],filename2[832]; FILE*fp1,*fp2; /***read n

js处理自己不能定义二维数组的方法详解

 本篇文章主要是对js处理自己不能定义二维数组的方法进行了介绍,需要的朋友可以过来参考下,希望读大家有所帮助  代码如下: var a= new Array(new Array(1,2),new Array('b','c'));  document.write(a[1][1]);  说白了,就是利用for循环定义二维数组!  ? <script language="javascript" type="text/javascript">      func

vc++-二维字符串SAFEARRAY的创建和读取

问题描述 二维字符串SAFEARRAY的创建和读取 各大神好,下面是我创建的字符串二维数组: SAFEARRAYBOUND Bound[2]; Bound[0].lLbound=0; Bound[0].cElements=2; Bound[1].lLbound=0; Bound[1].cElements=3; SAFEARRAY* pArray=SafeArrayCreate(VT_BSTR,2,Bound); CString strInfos[3][3]; strInfos[0][0] = "

java 二维字符串数组初始化及赋值问题

问题描述 java 二维字符串数组初始化及赋值问题 错误是"{ expected after token ; "请问为什么会出现这样的错误,该怎么解决? 解决方案 第一句话没错,第二句话,要放到具体的方法内,比如构造函数里,不要放到类一层的地方 解决方案二: 你确定有报错?我像这样写都没有报错! 解决方案三: java字符串数组初始化和赋值

zpl-使用ZPL语言打印二维码,怎么使扫描出来的数据换行?

问题描述 使用ZPL语言打印二维码,怎么使扫描出来的数据换行? 例如我的数据为:123456789 ABCDEFHIG CODE 想要达到扫描后的效果为:123456789 ABCDEFHIG CODE 请大神帮忙,代码应该怎样写? 解决方案 问题找到方法了,加"x01"解决了. 解决方案二: 参考 New line in Zebra ZPL 使用&来还行 解决方案三: 刚才一个反斜杠被替换了,应该是使用&来换行

编程-大学生初学,定义二维数组的问题求指点,预计定义一个可自动决定大小的数组,并且每个元素含有多个变量

问题描述 大学生初学,定义二维数组的问题求指点,预计定义一个可自动决定大小的数组,并且每个元素含有多个变量 #include typedef int Status;typedef struct Node{ Status var1;Status var2; }; int main(){ int ijs=0;//i表示行.j表示咧.s为总路程,初始化为0 int Num_Nodes; //定义二维数组 Node** a;//二级指针 a = (Node** )malloc ((sizeof (Nod

java定义二维数组的几种写法(小结)_java

如下所示: //定义二维数组写法1 class numthree { public static void main(String[] args) { float[][] numthree; //定义一个float类型的2维数组 numthree=new float[5][5]; //为它分配5行5列的空间大小 numthree[0][0]=1.1f; //通过下标索引去访问 1行1列=1.1 numthree[1][0]=1.2f; // 2行1列=1.2 numthree[2][0]=1.3

js处理自己不能定义二维数组的方法详解_javascript技巧

复制代码 代码如下: var a= new Array(new Array(1,2),new Array('b','c')); document.write(a[1][1]); 说白了,就是利用for循环定义二维数组! ?<script language="javascript" type="text/javascript">     function Array_2(nRow,nColumn){         var array1=new Array