最简单的一个事就是比如函数1的返回值是个2字节的数,函数2的返回值是个4字节的数,当你从第一个子程序跳到第二个,其实主函数是没有调用函数2,当函数2返回时,他会认为函数返回值仍然是2字节,这个时候就出错了,不同的函数的参数表也是不同的,这也一样会导致程序出错。。。所以这种跳转只是蹩脚适合无参数无返回值的纯过程。。。。
部分代码:#include <iostream.h>
#include <string.h>
int GetBinary(char* p)
{
int num = 0
int base = 1 << 6
for(int i = 0 i < 7 i ++)
{
num += (p[i] - 48) * base
base >>= 1
}
return num
}
void GetString(char* digital)
{
int len = strlen(digital) / 7
for(int i = 0 i < len i ++)
{
char *p = digital + i * 7
int num = GetBinary(p)
if((num >= 65 && num <= 90 ) ||
(num >= 97 && num <= 122))
{
char temp = num
cout<<temp
}
}
cout<<endl
}
void main()
{
char *p ="100000110000101"
GetString(p)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)