指针遇到的问题

0

char str[3][4]={"abc","def","ghi"}; char (p)[4]; p=str; char a[4],b[4]; strcpy(a,p); strcpy(b,*(p+1)); int i=strcmp(a,b); cout<<i; 这里输出结果是-3,我已经试过输出a和b,都是正确的字符串,我也直接把strcmp里的a和b都改成字符串了,答案是对的,但是偏偏就是用a和b就是不对,而且不是只有1,0,-1,怎么会有-3这个值?

  • 0
    ciga 10个月前 回答
    strcmp()的返回值不一定是1,0,-1,按约定是<0, 0, >0。