为什么指针函数操作不了指针?

dn587494 发布于 2016/03/12 22:18
阅读 235
收藏 0
char* Change(char *temp)        //判断指针指向的值是否是换行符如果是则指针+1
{
	if(*temp=='\n')		return temp++;
	else return temp;
}
int main()
{
	char *p_Map=new char [N];
	int Max,Count=0;
	cin.getline(p_Map,200,'0');
	while(1)
	{
		int temp;
		char* temp_p=p_Map;
		temp=(int)(*p_Map-'0');
		p_Map++;
		char *p_Temp=new char[temp*temp];
		for(int i=0;i<temp;i++)
			for(int j=0;j<temp;j++)
			{
				*(p_Temp+i*temp+j)=*(Change(p_Map++));     //这里调用了但是还是会把'\n'赋值给p_Temp?难道函数没有调用?
				cout<<*(p_Temp+i*temp+j);
			}

其余代码已经省略,为什么我调用了函数还是不行呢?求解答。



加载中
0
行业协汇袁斌
行业协汇袁斌

楼主的代码习惯特别不好,

这种代码愿意花时间认真看明白的人不多。

其他不多说了,帮顶

0
m
magiclogy
return temp++;



相当于

char *ret = temp;
temp = temp + 1
return ret;
所以Change函数错了
char* Change(char *temp)        //判断指针指向的值是否是换行符如果是则指针+1
{
    if(*temp=='\n')     return temp+1;
    else return temp;
}



dn587494
dn587494
谢谢~
返回顶部
顶部