为什么这些功能原型不相同?
void print_matrix(char *name, int SX, int SY, int m[SX][SY])
void print_matrix(char *name, int SX, int SY, int **m)
Run Code Online (Sandbox Code Playgroud) 我已经将这个简单的strstr重新制作作为练习,但是有一个我不理解的错误
#include <iostream>
#include "windows.h"
using namespace std;
int strstr2(char *arr, char *findme)
{
const int sizearr = sizeof(arr) / sizeof(char);
const int sizefindme = sizeof(findme) / sizeof(char);
int j=0;
for(int i=0; i<sizearr; i++)
{
if(arr[i] == findme[j])
{
// Match
if(j == sizefindme-1)
return i;
else
j++;
}
else
{
j = 0;
}
}
return -1;
}
int main (int argc, char **argv)
{
char arr[] = "I'd like 2% milk";
char toBeFound[] = "like";
int …Run Code Online (Sandbox Code Playgroud) 可能重复:
如何在C++中使用数组?
一维数组作为函数参数:
#include <stdio.h>
#include <string.h>
int func(int a[], int n)
{
int i;
for(i = 0; i < n; i++)
printf("%d ", a[i][j]);
}
int main(void)
{
int a[2] = {1,2};
func(a, 2);
}
Run Code Online (Sandbox Code Playgroud)
它编译并正确运行.
但是当二维数组作为函数参数时:
#include <stdio.h>
#include <string.h>
int func(int a[][], int n)
{
int i, j;
for(i = 0; i < n; i++)
for(j = 0 ; j < n; j++)
printf("%d ", a[i][j]);
printf("\n");
}
int main(void)
{
int a[2][2] = {{1,2}, {3,4}};
func(a, …Run Code Online (Sandbox Code Playgroud) std::string array[] = { "one", "two", "three" };
Run Code Online (Sandbox Code Playgroud)
如何找出array代码的长度?
我正在尝试创建一个打印二维数组的函数。我做了一个打印一维数组的操作。
#include <iostream>
using namespace std;
void printArray (int theArray[],int sizeOfArray);
int main ()
{
int array1[3] = {1,3,7};
int array2[5] = {123,5,23,2,324};
printArray(array1, 3);
printArray(array2, 5);
}
void printArray (int theArray[],int sizeOfArray){
for (int x=0; x<sizeOfArray; x++) {
cout<<theArray[x] <<" ";
}
cout<<endl;
}
Run Code Online (Sandbox Code Playgroud)
我编写了这些代码来打印二维数组,但失败了。
#include <iostream>
using namespace std;
void printArray (int theArray[][],int sizeOfRow, int sizeOfCol);
int main ()
{
int array[2][3] = {{1,3,7},{5,3,2}};
printArray(array, 2,3);
}
void printArray (int theArray[][],int sizeOfRow, int sizeOfCol){
for (int x=0; x<sizeOfRow; …Run Code Online (Sandbox Code Playgroud) 大家好我对以下代码有疑问,并想验证我的一些断言.
int array[] = {1,2,3,4};
int* ptr = &array[1];
Run Code Online (Sandbox Code Playgroud)
是否&array[1]意味着我得到数组的地址并添加1,deference该地址以查看实际的整数然后获取存储在该地址中的整数的地址?
这是怎么做到的?是否有一个operator [](int index)用于返回引用的数组,然后我们获取它的地址?
我想了解机器实际上在做什么以及语言语义.
我正在用 C++ 编写康威的生命游戏。我收到一个编译时错误,这与我将二维数组传递给方法的方式有关:
gameoflife.cpp:5:25: error: array has incomplete element type 'int []'
void print_game(int game[][], int SIZE);
gameoflife.cpp:6:23: error: array has incomplete element type 'int []'
void run_game(int game[][], int SIZE);
gameoflife.cpp:7:23: error: array has incomplete element type 'int []'
void set_cell(int game[][], int i, int j, int next[][], int SIZE);
Run Code Online (Sandbox Code Playgroud)
等等。
我的代码的开头是:
void print_game(int game[][], int SIZE);
void run_game(int game[][], int SIZE);
void set_cell(int game[][], int i, int j, int next[][], int SIZE);
Run Code Online (Sandbox Code Playgroud)
显然问题从这里开始。
在方法中传递二维数组有什么问题?我应该改用 ** 吗?
使用C++ MFC和Visual Studio 2008.
抱歉新手问题,但我不确定为什么这不起作用.我正在创建一个函数,在char *传递给它的XML中找到XML的标准非法字符,但是我得到一个奇怪的错误.
char* XMLIllegalCharacterParser(char *input){
char *Temp;
for (size_t i = 0; i < strlen(input); i++){
if(input[i] == "\"" || input[i] == "\'" || input[i] == "&")
}
return Temp;
}
1>.\FileImport.cpp(868) : error C2446: '==' : no conversion from 'const char *' to 'int'
Run Code Online (Sandbox Code Playgroud)
我不能为我的生活弄清楚为什么它不起作用.我有什么错误的语法?
PS:我知道那里我只有3个角色.我收到了这个错误,我想在添加其他两个之前修复它.
在这里我的后代码:
char* XMLIllegalCharacterParser(char *input){
char *Temp;
for (size_t i = 0; i < strlen(input); i++){
switch(input[i]){
case '\"':
strcat_s(Temp, 6, """);
break;
case '\'':
strcat_s(Temp, 6, "'"); …Run Code Online (Sandbox Code Playgroud) 有一个数组A,定义为int A[10],并且有另一个包含基址的指针,定义为int *ptr = A.
我最近看过这篇文章 如何找到'sizeof'(一个指向数组的指针)?,我无法弄清楚A和ptr之间的区别是什么.他们俩都不只是拥有阵列的基地址吗?
我们A[i] and ptr[i]现在可以互换使用,对于一些小于10的整数.
那么为什么使用sizeof()得到的结果有所不同?
我有一个大小的字符串数组5,我有n元素.我怎么能确定n?我试过sizeof(array)/sizeof(array[0]),但是返回数组的大小,即5.我的代码是:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string array[5];
array[0] = "pie";
array[1] = ":P";
array[2] = "YELLOW";
cout << sizeof(array)/sizeof(array[0]);
}
Run Code Online (Sandbox Code Playgroud)