這是strcpy函數。賦值使指針中的整數無指針C
#include <stdio.h>
const char *temp1[100];
const char *temp2[100];
int i,j;
const int s1;
const int s2;
char *in[100];
char *stradd(char *str1,char *str2)
{ int s1,s2;
int i,j;
*temp1= str1;
*temp2= str2;
s1 = strsize(*temp1);
s2 = strsize(*temp2);
while(s1<=s2 || s1>=s2)
{
for(i=s1,j=0;temp2[j]!='\0';i++,j++)
*(str1[i]) = *(str2[j]);
}
str1[i] = '\0';
return str1;
}
int main()
{
char in[100];
printf("Enter a string:\t");
scanf("%s",in);
stradd(in,"Hello");
for(i=0;i<=*(strsize(in));i++)
{
printf("\n%c",in[i]);
}
return 0;
}
#include <stdio.h>
char* strsize(const char *s)
{ int i,j;
char *name = s;
for(i=0;i<=name[i];i++)
j=i+1;
return j;
}
我得到錯誤s1
和s2
,說賦值時將整數指針不進行強制轉換, 而且,我在*(str1[i]) = *(str2[j]);
得到錯誤說無效類型的參數在一元*
有(* int)
。我想把int類型的返回值當作int來處理,我怎麼能這麼做?
提示:什麼是'strsize'的返回類型? – Evert 2014-10-09 14:41:31
,因爲你delcare那些作爲整數,並試圖使它們成爲一個指針... – jgr208 2014-10-09 14:43:30
你似乎有點混淆你的字符串聲明,例如'const char * temp1 [100];'看起來不對。 – 2014-10-09 14:43:33