gcc编译出现:error: invalid operands to binary & (have ‘char *’ and ‘int *’)
1 /************************************************************************* 2 > File Name: ptr_variable.c 3 > Author: Mr.Yang 4 > Purpose:演示指向变量的指针 5 > Created Time: 2017年06月03日 星期六 08时47分33秒 6 ************************************************************************/ 7 8 #include <stdio.h> 9 #include <stdlib.h> 10 11 int main(void) 12 { 13 int a = 1000; 14 printf("a的地址为:%d\n",&a); 15 16 int *p; 17 *p = 5; 18 printf("指针p的地址为:%d\n"&p); 19 20 return 0; 21 }
错误描述如下:
1 ptr_variable.c: In function ‘main’: 2 ptr_variable.c:18:37: error: invalid operands to binary & (have ‘char *’ and ‘int *’) 3 printf("指针p的地址为:%d\n"&p);
说明:错误出现在main函数,第18行,错误类型二进制操作数无效,printf函数中char *和int *并列了,错误的代码为printf("指针p的地址为:%d\n"&p);仔细查看,可知道中间少了一个逗号。