#includestdio.h
創(chuàng)新互聯(lián)長期為上千多家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為余干企業(yè)提供專業(yè)的成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè),余干網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
#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標(biāo)準(zhǔn)(標(biāo)準(zhǔn)號不記得了)要求函數(shù)必須在
開始處定義本函數(shù)的所有變量,否則就會報一些莫名奇妙的錯。
新一些的編譯器就沒這個問題,想在哪定義變量都可以。
在函數(shù)開始處 char* op2;
后面 op2=
或者
用高版本的編譯器編譯。
供你參考。
函數(shù)指針,要指向具有相同參數(shù)的函數(shù),修改如下:
#include stdio.h
int max(int a,int b)
{
if(ab)return a;
else return b;
}
void main()
{
int (*pmax)(int,int);//指向具有兩個變量的函數(shù)指針,這樣就可以了
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);//提前申明函數(shù)
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);
}