[英]segmentation fault with copying string in c
以下代碼顯示了細分錯誤。 如何解決問題? 代碼有什么問題?
#include <stdio.h>
void stcp (char *, char *);
int
main ()
{
char *s = "This is first string";
char *t = "string to be copied";
stcp (s, t);
printf ("%s", s);
getch ();
}
void
stcp (char *s, char *t)
{
while ((*s++ = *t++) != '\0');
}
默認情況下,字符串文字是const
。 要使其成為非常量,必須使其成為數組:
char s[] = "this is my string";
char t[] = "another string";
#include <stdio.h>
void stcp (char *s, char *t);
int main (void)
{
int i;
char s[] = "This is first string";
char t[] = "string to be copied ";
stcp (s, t);
printf ("%s\n", s);
printf ("%s\n", t);
//getch ();
return 0;
}
void stcp (char *s, char *t)
{
int i;
for (i=0; (s[i] != '\0') && (t[i] != '\0') ;i++) {
printf("%c %c\n",s[i],t[i]);
s[i] = t[i];
}
s[i] ='\0';
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.