重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#includestdio.h
创新互联长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为余干企业提供专业的成都网站制作、做网站、外贸营销网站建设,余干网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
#includestring.h
void insert(char *dtr, char *str, char locat);
void main()
{
char a[100]="hello,mop~";
char b[]="I am your small pig";
char *str;
insert(a,b,10);
printf("%s\n",a);
}
void insert(char *dtr, char *str, char locat) //dtr--被插的字符串,str--插入的字符串, locat---插入为置
{
dtr+=locat;
locat=0;
while(*dtr)
{
while(*str)
{
*dtr^=*str;
*str^=*dtr;
*dtr^=*str;
str++;
dtr++;
locat++;
}
str-=locat;
locat=0;
}
while(*str)
{
*dtr^=*str;
*str^=*dtr;
*dtr^=*str;
str++;
dtr++;
}
// return str;
}
用vc6编译的吗?
vc6编译器对c的有些新语法不支持。
以前的c标准(标准号不记得了)要求函数必须在
开始处定义本函数的所有变量,否则就会报一些莫名奇妙的错。
新一些的编译器就没这个问题,想在哪定义变量都可以。
在函数开始处 char* op2;
后面 op2=
或者
用高版本的编译器编译。
供你参考。
函数指针,要指向具有相同参数的函数,修改如下:
#include stdio.h
int max(int a,int b)
{
if(ab)return a;
else return b;
}
void main()
{
int (*pmax)(int,int);//指向具有两个变量的函数指针,这样就可以了
int x,y,z;
pmax = max;
printf("input two numbers:\n");
scanf("%d%d",x,y);
z=(*pmax)(x,y);
printf("maxmum=%d\n",z);
}
undeclared identifier的意思你就可以理解为没有定义。
只需要改一下就可以了。
#includestdio.h
void swap(int * px,int * py);//提前申明函数
void main()
{
int a,b;
a=5,b=10;
printf("before swap a=%d,b=%d\n",a,b);
swap(a,b);
printf("after swap a=%d,b=%d\n",a,b);
}
viod swap(int * px,int * py)
{
int temp;
temp = * px;
* px = * py;
* py = temp;
printf("in swap x=%d,y=%d\n",* px ,* py);
}