呵呵,我想就这个,可以不用定义那么多的变量!
问题一:
直接把数据读到一个数组中buf[MAX_SIZE];
然后按空格进行拆分呗。
代码如下:
#include <iostream.h>int main()
{
char buf[100] = \"10 23 25 2 5\";
int a[50];
char *temp;
char *ret;
temp = buf;int i = 0;
int j = 0;
while(temp[i]!='\0')
{
i = 0;
for(;temp[i]!=' ';i++);
temp[i] = '\0';
ret = temp;
a[j++] = atoi(ret);
temp = &temp[i+1];
}
for(i = 0;i<j;i++)
{
cout<<a[i]<<'\t';
}
return 0;
}
问题二:
法1:可以设置全局变量计数 //缺点:破坏了被计数a(),b()的结构
int i = 0;
void c() //计数函数
{
i++;
}
void a()
{
c();
}
void b()
{
c();
}
法2:通过函数指针实现计数 //注意被计数的函数的调用方式
void a()
{}
void b()
{}
void c(int *i,void(*fun)()) //计数函数
{
i++;
(*fun)();
}
void main()
{
int i = 0;
c(&i,a); //调用函数a的方式
c(&i,b); //调用函数b的方式
}
推荐使用法2,代码没测试,可能有误,思路就是这样的