69,373
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
void hello(void)//定义一个无返回值无形参类型的函数hello
{
fprintf(stderr,"Hello!\n");//输出函数
}
void func(void)
{
char *buf[10]; //定义一个无类型指针数组
static int i; //定义静态局部变量i
for(i = 0; i < 30; i++) {
buf[i] = hello;
}
}
int main(void)
{
int buf[1000];//定义一个长度为1000的整型数组
func();//函数调用
return 0;
}
#include <stdio.h>
void hello(void)//定义一个无返回值无形参类型的函数hello
{
fprintf(stderr,"Hello!\n");//输出函数
}
typedef void (* PFUN)(void)
void func(void)
{
void *buf[10]; //定义一个无类型指针数组
static int i; //定义静态局部变量i
for(i = 0; i < 10; i++) {
buf[i] = hello;
}
for(int j = 0; j < 10; ++j)
{
(PFUN)(buf[j]);
}
}
int main(void)
{
//int buf[1000];//定义一个长度为1000的整型数组
func();//函数调用
return 0;
}
#include <stdio.h>
void hello(void)//定义一个无返回值无形参类型的函数hello
{
fprintf(stderr,"Hello!\n");//输出函数
}
void func(void)
{
void *buf[10]; //定义一个无类型指针数组
static int i; //定义静态局部变量i
for(i = 0; i < 100; i++) {<-------越界/*这怎么越界来着?*/
buf[i] = hello;
}
}
int main(void)
{
int buf[1000];//定义一个长度为1000的整型数组
func();//函数调用
return 0;
}
源程序是这样的,你们自己运行下,可以运行但是最终这程序会崩溃,主要错在数组越界。
#include <stdio.h>
void hello(void)//定义一个无返回值无形参类型的函数hello
{
fprintf(stderr,"Hello!\n");//输出函数
}
void func(void)
{
char *buf[10]; //定义一个无类型指针数组
static int i; //定义静态局部变量i
for(i = 0; i < 10; i++) {
buf[i] = "hello";
}
}
int main(void)
{
int buf[1000];//定义一个长度为1000的整型数组
func();//函数调用
return 0;
}
buf[i] = hello;
这个肯定是错的