`
美丽的小岛
  • 浏览: 297615 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

<求教>一个C关于字符串的奇怪问题:同一段代码不同位置出错

    博客分类:
  • c
 
阅读更多

代码:

#include<stdio.h>
#include<string.h>
int main(){
    char * m2 ;//只有指针的一定要放在前面。如果在下面一定会出错。为什么呢?
    char * x = strcpy(m2,"123") ;
    printf("%s\n",m2) ;
    int i = 1 ;
    return 0 ;
}

 

执行结果没有错。

如果这个代码有代码,就出错了,很奇怪。

#include<stdio.h>
#include<string.h>
int main(){
  char * m1 ;
   strcpy(m1,"121121212") ;
   printf("%s\n",m1) ;
   char * m ;
   strcpy(m,"121121212") ;
   printf("%s\n",m) ;
   return 0 ;  }

 

0
4
分享到:
评论
2 楼 美丽的小岛 2012-08-25  
cnsworder 写道
两段代码都是错误的,m1,m2,m都没有分配内存就操作是绝对会出错的,第一段代码没报错只能说你运气好了

开始我也觉得第一段代码是一定错的,可是,当我的执行了,却没有错误呀。所以觉得十分的奇怪呀。执行了很多次都没有出现内存的错误,但后面那段就不同,出现了内存的错误。
1 楼 cnsworder 2012-08-23  
两段代码都是错误的,m1,m2,m都没有分配内存就操作是绝对会出错的,第一段代码没报错只能说你运气好了

相关推荐

Global site tag (gtag.js) - Google Analytics