表达式必须包含指向对象的指针类型,但它具有类型 "int"

img


表达式必须包含指向对象的指针类型,但它具有类型 "int"
85行i
找不到问题

char pwd
应该是
char * pwd
或者是
char pwd[]

char pwd

改为

char * pwd

pwd你定义的是字符

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7442317
  • 你也可以参考下这篇文章:关于int的取值范围以及溢出的问题
  • 除此之外, 这篇博客: 结构体中指向指针的指针中的 int型指针修改 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 首先用一个简单的例子进行说明:对于int型的地址修改。

    #include <stdio.h>
    #include <stdlib.h>
    
    void f(int *a) {
    	int *b = a;
    	//注意这个式子分开写应该写成 int b; b = a;
    	*b = 2;
    	//b是指向a的指针,*b为int型数据,修改*b,相当于修改*a,因为a,b指向同一个地址
    }
    
    void f1(int *a) {
    	int b = *a;
    	b = 2;
    	//虽然在这种情况下,*a是属于int类型,b也是int类型,但是由于b并不是指针,不指向a的地址,所以并不能改变a的值
    }
    
    int main()
    {
    	int a = 1;
    	f1(&a);
    	printf("a = %d\n", a);
    	return 0;
    }