【问题标题】:variable has incomplete type 'void'变量具有不完整的类型“void”
【发布时间】:2021-05-09 17:19:46
【问题描述】:

编译时我收到上述错误,这个错误的可能原因是什么。 我期待 65 0 作为输出!

int main(){
    char c, *cptr;
    void v, *vptr;
    c = 65; v = 0;
    cptr = &c; vptr = &v;
    printf(“ % d % d”, *cptr, *vptr);
}

【问题讨论】:

  • 声明void 变量没有意义。你的格式字符串也是错误的。为什么要使用void
  • int v, *vptr;
  • 还要注意stdout通常是行缓冲的,所以最好在最后加上换行符。

标签: c pointers reference printf


【解决方案1】:
  • void 表示“无数据”,因此声明类型为 void 的变量毫无意义。您应该使用整数类型。
  • 您没有包含必需的标头。
  • 您的格式字符串错误(至少不标准)。

试试这个:

#include <stdio.h>

int main(void){
    char c, *cptr;
    int v, *vptr;
    c = 65; v = 0;
    cptr = &c; vptr = &v;
    printf("%d %d", *cptr, *vptr);
}

【讨论】:

  • 迂腐:void 是一个不完整的类型,无法完成。因此,适用于不完整类型的所有常规规则。
猜你喜欢
  • 1970-01-01
  • 2013-05-26
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 2012-04-03
  • 1970-01-01
  • 2012-02-16
  • 2021-03-19
相关资源
最近更新 更多