易截截图软件、单文件、免安装、纯绿色、仅160KB

C 程序问题(四) - C/C++ / C语言

#include "stdio.h"

int main()
{
  char *ch(char *, char *);
  char str1[]="I am glad to meet you!";
  char str2[]="Welcom to study C!";
  printf("%s", ch(str1, str2));

return 0;
}

char *ch(char *str1, char *str2)
{
  char *p;
  p=str2;
  if(*str2 == NULL)
return NULL;
// exit(-1);

  do
  {
  *str2=*str1;
  str1++;
  str2++;
  }while(*str1!=NULL);

  return(p);
}
问题一:为什么输出是:I am glad to meet you!am glad to meet you!
  即:为什么str2[]会被改成I am glad to meet you!am glad to meet you!呢?
  我单步调试时觉得str2[] = I am glad to meet you!么?

问题二:在char* ch(char *str1, char *str2)函数中,p是局部指针,最后用return(p);来返回指针地址是否
  不太安全呢?如果是的话,我可以怎么改或者怎么做比较好?

谢谢!!!

没事,p的地址实际上是str2,改动str2就是改p,所以能返回,而且p会跟着str2的改动走

*str2 = '\0';
少了这个,

观望中
没多少分了

引用
#include <stdio.h>

int main()
{
    char *ch(char *, char *);
    char str1[]="I am glad to meet you!";
 


相关问答:

用C或C++如何编写求解3D魔方程序 - C/C++ / C++ 语言

请问用C或C++如何编写求解3D魔方的程序,该从何开始?
谢谢各位,帮忙提点建议吧。

http://www.mofang.net/code/176/182/6581.html

我只能突破60秒!唉。

我刚过40秒

google的android中有个OpenGL ES + ......

c,c++连接mysql 找不到头部文件(新手)

编译器:C-Free4
mysql 单独安装的,现在为apache+php+mysql可以使用。
最近在练习c,c++;想用c,c++连接下我的mysql,好多地方多说mysql.h找不到。而且我mysql没有所谓的include文件夹啊。
忘高手指点一� ......

C 程序问题 (三) - C/C++ / C语言

问题一:
在对齐为4的情况下
struct BBB
{
long num;
char *name;
short int data;
char ha;
short ba[5];
}*p;
p=0x1000000;
p+0x200=____;
(Ulong)p+0x200=____;
(char*)p+0x200=____;
假设在32位C ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号