关于数组指针的c++程序,不知道为什么错了

问题描述

关于数组指针的c++程序,不知道为什么错了

#include
#include
using namespace std;
int main(){
char str1[80], str2[80];
char pc1 = str1, *pc2 = str2;
cin >> pc1 >> pc2;
char a[80][80];
for (unsigned i = 0; i<strlen(str1) - strlen(str2) + 1; i++){
for (unsigned j = 0; j<strlen(str2); j++)
a[i][j] = *(pc1 + i + j);
}
char(*pa)[80];
pa = a;
for (unsigned i = 0; i<strlen(str1) - strlen(str2) + 1; i++){
if (strcmp(
(pa + i), str2) == 0)
cout << str1[i];

}

}

解决方案

http://www.cnblogs.com/dolphin0520/archive/2011/11/09/2242138.html

解决方案二:

这样改没有error了,只是不知道要求获得什么结果?

 #include <iostream>
#include "string.h"
using namespace std;
int main(){
char str1[80], str2[80];
char *pc1 = str1;
char *pc2 = str2;
cin >> pc1 >> pc2;
char a[80][80];
for (unsigned i = 0; i<strlen(str1) - strlen(str2) + 1; i++){
for (unsigned j = 0; j<strlen(str2); j++)
a[i][j] = *(pc1 + i + j);
}
char (*pa)[80];
pa = a;
for (unsigned i = 0; i<strlen(str1) - strlen(str2) + 1; i++){
if (strcmp((*pa + i), str2) == 0)
cout << str1[i];
}
}

解决方案三:

你的pc1和pc2是地址,并不是变量,你输入进去根本不知道指到哪里了

时间: 2024-10-26 08:25:27

关于数组指针的c++程序,不知道为什么错了的相关文章

java程序不知道哪里错了,求指教

问题描述 java程序不知道哪里错了,求指教 不知道哪里错了,求指教 程序如下: package com.Sixping.Ncre; import java.util.*; public class AbstractClassTest { public static void main(String[] args) { Person[] people=new Person[2]; people[0]=new Employee0("张浩", 50000, 1989, 10, 1); pe

java程序不知道哪儿错了,请指教

问题描述 packagetest;importjava.awt.*;importjava.awt.event.*;importjava.util.*;publicclassStudentInfoextendsFrameimplementsActionListener{staticHashMapmap=newHashMap();Buttonbt1=newButton();Buttonbt2=newButton();Buttonbt3=newButton();TextAreatextArea1=ne

C++中的指针、数组指针与指针数组、函数指针与指针函数

C++中的指针.数组指针与指针数组.函数指针与指针函数 本文从初学者的角度,深入浅出地详解什么是指针.如何使用指针.如何定义指针.如何定义数组指针和函数指针,并给出对应的实例演示:接着,区别了数组指针与指针数组.函数指针与指针函数:最后,对最常混淆的引用传递.值传递和指针传递做了区处. C++中一个重要的特性就是指针,指针不仅具有获得地址的能力,还具有操作地址的能力.指针可以用于数组.或作为函数的参数,用来访问内存和对内存的操作,指针的使用使得C++很高效,但是指针也非常危险,使用不当会带来比较

malloc-小弟谢了一个简单的字符串求最大子串的程序不知道错哪里,請大神帮忙回答下

问题描述 小弟谢了一个简单的字符串求最大子串的程序不知道错哪里,請大神帮忙回答下 程序要求如下: 一个字符串,字符连续的部分为子串(不含带数字的部分) 下面是我写的程序 #include using namespace std; char* BiggestStr(char* str) { char* pStr = (char*)malloc(sizeof(str)+1); //申请一个空间存最大子串 int nCount = 0; //用于记录最大子串的长度 int J_nCount=0; ch

求解决-按照例子不能正常输出,程序不知道那里出错误了,请大神们指出来,我好改正,请用c语言编写

问题描述 按照例子不能正常输出,程序不知道那里出错误了,请大神们指出来,我好改正,请用c语言编写 #include #include /**本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素. 输入格式: 输入在第一行中给出一个正整数n(1≤n≤10).第二行输入n个整数,用空格分开. 输出格式: 在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格. 输入样例: 4 10 8 1 2 输出样例: 2 1 8 10 **

c++ 指针-C++中数组指针怎么输出每一个所谓的一维数组的头一个元素

问题描述 C++中数组指针怎么输出每一个所谓的一维数组的头一个元素 #includeusing namespace std;int main(){int a[3][4] = {{1357}{9111315}{17192122}};int (* p)[4];for(p = a; p < a + 3; p++){cout << ((p + 0)) << "" "";cout << *p <<endl;}cout &l

c语言-如何在C语言中以数组指针作为形参输出数组

问题描述 如何在C语言中以数组指针作为形参输出数组 #include ""stdafx.h""void cmdsend(unsigned int * info);int main(){ unsigned int senddata[5]; senddata[0] = 8; senddata[1] = 2; senddata[2] = 0; senddata[3] = 4; senddata[4] = 5; cmdsend( senddata ); while(1){;

数组指针与整形指针问题

问题描述 数组指针与整形指针问题 #include #include int main(){ int a[10]; int *p,i; puts(" Please input ten integer:"); for(i=0;i<10;i++) scanf("%d",&a[i]); printf(" "); for (p = &a; p < (a+10);p++) printf("%d", *p);

学习二维动态数组指针做矩阵运算的方法_C 语言

本文分享了利用二维动态数组指针做矩阵运算的实现代码. 1. 头文件     // juzhen 2.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "stdlib.h" #include "windows.h" #define OK 0 #define NG -1 typedef struct mat { int