이것은 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;
}
은 내가 (* int)
이 단항 *
에 인수의 잘못된 유형을 말하는 *(str1[i]) = *(str2[j]);
에서 오류가 발생, 할당 캐스트, 없이 정수의 포인터를 만드는 말, s1
및 s2
에 오류가 발생합니다. 내가 strsize의 반환 유형을 int로 처리하고 싶다면 어떻게 할 수 있습니까 ???
힌트 :'strsize'의 리턴 타입은 무엇인가? – Evert
왜냐하면 그것들을 int로 delcare하고 그것들을 포인터로 만들려고하기 때문입니다 ... – jgr208
문자열 선언과 약간 혼동스러워 보입니다. 'const char * temp1 [100];'틀린 것 같습니다. –