[求解]有關指標、及for迴圈的程式問題

kai
在下方的程式中,有幾個問題想要請教:
(1).在定義copy1的參數中,s1是const,s2和*s2也是const沒錯吧?那在copy1的函式中,s1是怎麼被賦值成功的(s1不是常數嗎?)
(2).for(i=0 ;(s1[i] = s2[i])!='\0' ;++i)這句,(s1[i] = s2[i])!='\0'應該是複製字串的指令,但在for的語法中不會怪怪的嗎?指令不是應該放在{}裡面的嗎?


#include <stdio.h>
#define size 10
void copy1(char *const s1,const char *const s2);

int main()
{
char string1[size] ;
char *string2 = "hello" ;

copy1(string1,string2) ;
printf("string1 = %s\n",string1) ;
return 0;
}

void copy1(char *const s1,const char *const s2)
{
int i ;
for(i=0 ;(s1[i] = s2[i])!='\0' ;++i) //copy string
{
; //do nothing
}
}


小弟先在此感謝各位啦 >_<
kai
已解決
回到頂部