当前位置:  技术问答>linux和unix

一道笔试题:linux下找bug

    来源: 互联网  发布时间:2016-07-06

    本文导语:  对linux不熟悉55555~~~,在windows下正确的,哪位大大能跳出来说一下,感激不尽 #include  char *reverse(char* str) { int len=0, i=0; char *pstr=str, *ptemp,*pd; while(*++pstr) len++; pstr--; //ptemp=(char*)malloc(len+1); ptemp=(char*)malloc(len+1)...

对linux不熟悉55555~~~,在windows下正确的,哪位大大能跳出来说一下,感激不尽

#include 
char *reverse(char* str)
{
int len=0, i=0;
char *pstr=str, *ptemp,*pd;
while(*++pstr)
len++;
pstr--;
//ptemp=(char*)malloc(len+1);
ptemp=(char*)malloc(len+1);
pd=ptemp;
while(len--){
*ptemp=*pstr;
ptemp++;
pstr--;
i++;
}
*ptemp=*pstr;
ptemp++;
*ptemp='';
return pd;
}
int main()
{
char string[13]= "hello world!";
char *pstr=string;
printf("%s", pstr);
printf("%s", reverse(pstr));
return 0;
}

|
while(*++pstr) 
len++; 
这样的算法总会少算1个的。
假想pstr的长度是1,比如是"a"这个字符串,那么*++pstr就是0,len也就是0了。

不管linux还是windows,代码都不是正确的。
由于malloc的空间少了一个字节,就出现了越界,结果就有偶然性了。windows里面可能碰巧结果对了。
我在cygwin里面运行的结果也是正确的。



    
 
 

您可能感兴趣的文章:

  • 今天金山系统测试的一道笔试题
  • 一道百度笔试题(关于ssh)
  • [请求帮助]今天遇到的一道笔试题。。。。
  • 一道考试题,送100分,别忘了写注释啊。
  • 一道类似于JAVA程序员认证的试题,请大家来看看
  • 一道SCJP的考试题,迷惑!
  • scjp一道试题!
  • 马上要期末考试了!有一道试题请各位大哥给出答案!谢谢!急!!
  • 问:一道SCJP试题
  • 问一道昨天威盛笔试题
  • 一道笔试题:用open/close/read/write完成大文件读写。
  • 一道JAVA认证考试试题,有点想不通,各位看看...
  • 帮忙解决一道关于Linux内核模块的问题
  • linux 的一道看不懂的题目。。求
  • 问一道linux选择题,关于shell功能和特点的问题~~~~~~~~~~~~~
  • 困惑,一道很简单的linux编译题目
  • 一道 linux 的shell编程的题目
  • 一道linux下C语言fork的题
  • 不显示删除回复显示所有回复显示星级回复显示得分回复 诚心请教Linux一道面试题(shell编程)
  • 求助一道linux C语言的错误问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 一道送分的问题
  • 一道考验基础的JAVA语法题
  • 问个AIX题库的一道题,感觉答案应该是A啊
  • 关于构造函数的一道题
  • 初中计算机老师给我们出过一道题,那时候印象很深
  • 一道基础英语填空题(Java)
  • 问一道SCJP的题目
  • SCJP 模拟题一道
  • scjp考题一道
  • scjp考题一道!!!!!!!!
  • 一道SCJP的题
  • 一道SCJP题有请各大虾指教.
  • 一道题,select what & why?
  • 一道关于操作系统的题
  • 问一道算法题
  • 一道习题
  • [请求帮助]今天遇到的一道笔试题。。。。 iis7站长之家
  • 一道scjp的题目
  • 一道scjp模拟题,请赐教。
  • 关于操作系统的一道题目(关于临时文件)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3