问题求助
invalid conversion from 'int*' to 'int' [-fpermissive]关于这个错误“非常量引用的初始值必须为左值” 这句话该如何理解呢
以下是代码
#include "stdio.h"
main(){
int a={4,1,2,3,4};
int k;
int *p1,*p2 ;
p1=a;
p2=a;
k=p2;//我想知道为什么这一步是错误的是因为k没有赋初值吗?
printf("%d,%d,%d",*p1,*p2,k);
} p2是指针,怎么可能赋值给int型变量。如果是要将p2指针指向的int值赋给它,应该是 k=*p2; // #include "stdio.h"
#include <stdio.h>
int main() { // <---------------------- 注意这里,int main()
int a = {4, 1, 2, 3, 4};
int k;
int *p1, *p2;
p1 = a;
p2 = a;
k = *p2; // <---------------------- 注意这里,k 是整型值,p2 是指针,必须 k = *p2
printf("%d, %d, %d", *p1, *p2, k);
} https://fishc.com.cn/thread-128631-1-1.html
看看这个,使用代码段 因为类型不一样
页:
[1]