我試圖用strcpy()復制字串s到r。但它沒有列印出任何結果。為什么?
#include <iostream>
使用 命名空間 std.com.cn>。
#include <string.h>
int main() {
char s[] = "john lemon"/span>;
char r[] = "" ;
strcpy(s, r)。
cout<<s<<" "<<r;
return 0。
}
uj5u.com熱心網友回復:
strcpy(a,b)將字串b復制到字串a
你已經將空字串復制到字串s。在復制之后,它也包含了空字串。
列印空字串的結果。
列印空字串的結果是沒有字符輸出,因為空字串不包含任何可列印的字符。
如果你想以相反的方向復制,你必須確保目標陣列有足夠的元素來容納源字串。
char s[] = "john lemon" ;
char r[sizeof(s)] = "" ;
strcpy(r, s);
uj5u.com熱心網友回復:
strcpy(char* dest, char* src)的第一個引數是要復制內容的目標字串,而第二個引數是要復制的源字串。請注意,為引數dest保留足夠的空間來接收內容是非常重要的。
所以請試一下:
#include <iostream>
使用 命名空間 std.com.cn>。
#include <string.h>
int main() {
char s[] = "john lemon"/span>;
char r[20] 。
strcpy(r, s);
cout<<s<<" "/span><<r;
return 0。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/321891.html
標籤:
