我寫應該字符串數組從使用指針「複製字符串數組從數組」使用指針
#include<stdio.h>
void copy_string(char *to,char *from);
void print_array(char *a);
int main(void)
{
char *s1="Salahuddin";
char *s2="Ashraf";
print_array(s1);
print_array(s2);
copy_string(s1,s2);
print_array(s1);
print_array(s2);
return 0;
}
void print_array(char *a)
{
while(*a!='\0')
printf("%c",*a++);
printf("\n");
}
void copy_string(char *to,char *from)
{
while(*from != '\0')
{
*to++=*from++;
}
}
但是這段代碼運行時,只打印陣列複製到另一個陣列的功能的功能一次(在調用copy_string之前)函數,然後退出程序。
我試過調試它,發現當調用copy_string函數時,編譯器會去那裏,檢查* from'='\ 0'條件,然後進入while循環,然後直接進入函數的結尾。我想不出什麼問題是?
任何人都可以幫忙嗎?在此先感謝
有數百個這個問題的重複。 -1沒有努力縮小問題的範圍,或者先嚐試一些簡單的方法,或者使用調試器。 –