我試圖使用printf函數從傳入函數的指針打印一個字符串。printf期間訪問衝突錯誤
printf("%s\n", strng[1]);
strng被調用者傳入。這是一個字符串,它前面有一個空格,我想刪除該空格。因此我有下面的代碼。
for(i=0; i<slength -1; i++) {
printf("%s\n", strng[1]);
tstr[i] = strng[i+1];
printf("%s\n", tstr);
}
tstr[slength] = 0;
它不斷給我一個訪問衝突錯誤,我不明白爲什麼。如果我將printf行取出,那麼我可以運行代碼,但返回字符串tstr在其末尾總是有一個額外的字符。輸出看起來像這樣。
bp185080
9
bªM
bpM
bp1
bp18─
bp185
bp1850K
bp18508
bp185080=::=::\
bp185080=
我該如何擺脫白色空間,沒有額外的字符?
你可以顯示'strng'的聲明嗎? –
爲什麼不直接調用strcpy? –
strng是一個輸入參數。所以輸入的例子是「he939379」 – user2127579