C程序错误 - 增量中的左值无效

时间:2014-03-09 08:13:47

标签: c

#include <stdio.h> 

void main(void) 
{ 

char* p ="sahil"; 
printf("%c,%c,%c,%c",*p,*(++p),*(p++),*p); 

} 

结果:

h,h,s,h 

它应该是:

s,a,a,h 

有人可以解释结果吗?


又一种情况:

#include <stdio.h> 

void main(void) 
{ 

char p[] ="sahil";                            <<<< Change in the declaration 
printf("%c,%c,%c,%c",*p,*(++p),*(p++),*p);    <<<<Line 7 

} 

结果输入功能'main':

Line 7: error: invalid lvalue in increment 
Line 7: error: invalid lvalue in increment 

Plz解释

0 个答案:

没有答案