首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有个有关问题小弟我理解不好,麻烦大家给小弟我点指点

2012-02-29 
有个问题我理解不好,麻烦大家给我点指点1》。#includeiostreamusing namespace stdvoid test(char *p){ch

有个问题我理解不好,麻烦大家给我点指点
1》。
#include<iostream>
using namespace std;
void test(char *p)
{
char *temp=new char[3];
temp="ab";
p=temp;

}
void main() 

char p1[]="abcd";
cout<<p1<<endl;
test(p1);
cout<<p1<<endl;

因为是值传递,所以打印的东西都是abcd
2》。
#include<iostream>
using namespace std;


void test(char *p)
{
*p='k';
}
void main() 

char p1[]="abcd";
cout<<p1<<endl;
test(p1);
cout<<p1<<endl;

为什么这个也是值传递,但是第二次打印改成了kbcd呢?


[解决办法]
void test(char *p) 

*p='k'; //这个不是值传递,应该是指针传递,利用指针改变了字符串的第一个字符。

热点排行