请问如何改写这个函数,返回一个整型数组.
把输入的字符串如"22222 3333 333 "
22222 3333 33三个数字存入一个整型数组
函数要求写成
int * GET(char *s)
的形式
指针无法传递
在主函数调用的时候如何帮函数局部的变量还存在?
问过一个高手,说用指针的指针可以解决,不过没有给出具体的实现,请CSDN的大虾帮忙解决
/////////////////////
以下程序是我想的笨办法,供修改使用
#include<iostream.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
static int num[100];
static char temp[4];
int GET(char *s)//请教如何把这个函数改成int* GET(char *s)就是把字符串里的数字存入这个数组并且数组不被销毁
{
int len=strlen(s);
int count=0;
int count1=0;
for(int i=0;i<len;i++)
{
temp[count1]=s[i];
count1++;
if(isspace(s[i]))
{
//cout<<"wwww"<<temp<<endl;;
num[count]=atoi(temp);
count1=0;
count++;
}
}
return count;//数组元素个数
}
void main()
{
char *ss="21 321 33213 ";
int count=GET(ss);
for(int i=0;i<count;i++)
cout<<num[i]<<endl;
}
问题2.
请问C语言的为何char数组可以测其长度?
而int 数组为何没有提供这个方法?
相关推荐
找出一个整型数组中的元素的最大值
c语言中找出一个整型数组中的元素的最大值。源码
一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数,该怎么写呢?
依照题意依次写出即可: 一个有10个指针的数组:*a[10]; 该指针指向一个函数:(*a[10])(); 该函数有一个整形参数: (*a[10])(int); 所以int (*a[10])(int)就是答案。 阅读这种表达式的时候可以遵循以下的规则:从右向左,由近及远,括号优先;比如从a符号开始。其右边是[10],说明a是个数组,其中存了十个元素。 再看a的左边是一个*。说明数组中存的是指针。现在在看(*a[10])的右边是(int);说明所存的指针是指向有一个int形参的函数现在看(*a[10])的左边
编写一个函数用来实现对一个整型数组中的10个数升序排列
数组是引用类型,也就是说在定义和调用函数时,数组这种参数前加不加ref它都是引用参数,但是实参数组一定要初始化
c++从函数返回数组的方法代码
c++如何从函数返回数组? C++ 从函数返回数组 C++ 不允许返回一个完整的数组作为函数的参数。但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针。 如果您想要从函数返回一个一维数组,您必须声明一个返回指针的函数,如下: int * myFunction() { . . . } 另外,C++ 不支持在函数外返回局部变量的地址,除非定义局部变量为 static 变量。 现在,让我们来看下面的函数,它会生成 10 个随机数,并使用数组来返回它们,具体如下: 实例 #include #include #include usi
在C中如何使函数返回数组
在C中如何使函数返回数组收藏 Java语言的函数可以轻易的返回一个数组,而C/C++却不能直接返回一个数组。这是由于在C/C++中,数组不是一种类型,因此不能被直接返回。 在C/C++中,一般有两种方法来返回一个数组。


