共有回帖数  0  个 
	 
	
	
	
     
          
          
               
				
			 
				
					 
 
            
				   - 
						
						
							 
									主要代码:
 char * str = "?";
 if(!str)
 {
 char *str = (char*) malloc (100);
 if(!str) return -1;
 str[0] = 'a';
 }
 printf("%cn",*str);
 system("pause")
  
 我理解的是,应该会报错,至少他是重定义了。至于打印出来为什么是 ? 而不是 a ,这段代码,我不敢多说什么。但是
 char * str = "?";
 if(!str)
 {
 char *str = (char*) malloc (100);
 if(!str) return -1;
 str[0] = 'a';
 }
 printf("%cn",str[0]);
 system("pause")
 
 
 把printf改成打印str[0] 我认为会打印出 a 但是,还是? 不信你们去试试。这里我就不理解了,malloc 我又没有free 掉,而且程序又没有结束,为什么打印不出来。
 楼主 2015-09-02 20:21 回复 
 
 
   
             
                  
                  
 
 
 
     
	 
  
	Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
	
	意见反馈 | 
	关于直线 | 
	版权声明 | 
	会员须知