首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

这段程序输出结果为什么是 |,该怎么处理

2012-05-10 
这段程序输出结果为什么是 |C/C++ code#includestdio.hvoid main(){char a[]{a,b,c,d}char (*

这段程序输出结果为什么是 |

C/C++ code
#include<stdio.h>void main(){    char a[]={'a','b','c','d'};    char (*p)[3]=a;    printf("%c",*p);}


这段程序输出结果为什么是 |

[解决办法]
敢问楼主用的什么编译器???为什么我的VS2008不能通过编译??
[解决办法]
编译出错~~
[解决办法]
没什么意义
[解决办法]
看下数组指针吧
printf("%c %c %c %c",*p,p[0],a,&a[0]);

另外应该是
char a[1][4]={'a','b','c','d'};
char (*p)[4]=a;
[解决办法]
改为这样 printf("%c",*p[0]);

char (*p)[3]=a;说明p是一个指针 指向一个数组

"%c",*p 等同 "%c", a 没有意思 

[解决办法]
不知道LZ想干嘛
[解决办法]
探讨
C/C++ code
#include<stdio.h>
void main()
{
char a[]={'a','b','c','d'};

char (*p)[3]=a;
printf("%c",*p);
}



这段程序输出结果为什么是 |

[解决办法]
p是一个指针,指向一个含有3个char元素的数组,那么p 应该等于 &a;
[解决办法]
类型都不匹配,肯定会不通过的。VC6下可能通过,因为其不标准。
[解决办法]

C/C++ code
#include<stdio.h>void main(){    char a[]={'a','b','c','d'};    char (*p)[3]=a;  //这个写法好奇怪,类型不对吧,试着改成下面的试试    printf("%c",*p);} 

热点排行