|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
void print_string(char [] str)
{
for(int i=0; i<sizeof(str)/sizeof(str[0]); i++)
{
cout << str[i];
}
cout << endl;
}
int main(void)
{
char arr1[40] = "Hello world";
print_strin(arr1);
char arr2[40];
arr2[0] = 'H';
arr2[1] = 'e';
arr2[2] = 'l'
arr2[3] = 'o'
...
arr2[10] = 'd';
return 0;
}
输出:Hello wo
那后面rld几个字符去哪里了呢?我感觉问题出在
i < sizeof(arr[i])/sizeof(arr[i])这句话,如果这样改就行了
void print_string(char[] arr, int length); // length 是数组的长度
我现在疑惑的是,为啥会打印Hello wo,共8个字节?sizeof(arr)/sizeof(arr[0])不应该返回数组的长度吗?为啥返回8呢?来个懂得老哥说一下。 |
|