linsanity17 发表于 2020-7-26 23:55:47

向大佬求助有关指针与数组的问题

#include <stdio.h>
#include <string.h>
int main()
{
        char a[] = "wanwezhi";
   char *q = a;

        int c=0;

        while(*q++ != '\0')
    {
       c++;
        }       
        printf("%d",&c);
最后输出的c是很大的一个数
求各位大佬指出我的错误

永恒的蓝色梦想 发表于 2020-7-27 00:33:27

本帖最后由 永恒的蓝色梦想 于 2020-7-29 17:46 编辑

#include <stdio.h>
#include <string.h>


int main() {
    char a[] = "wanwezhi";
    char *q = a;

    int c=0;

    while (*q++ != '\0') {
      c++;
    }

    printf("%d", c);
    return 0;
}printf 应该传值,而不是地址。

我变秃了。 发表于 2020-7-27 07:20:17

printf不加取地址符,把最下边printf里边的&去掉再试试

livcui 发表于 2020-7-27 10:50:34

    #include <stdio.h>
    #include <string.h>


    int main() {
      char a[] = "wanwezhi";
      char *q = a;

      int c=0;

      while (*q++ != '\0') {
            c++;
      }

      printf("%d", c);
      return 0;
}
都没加花括号{:10_256:}


Cool_Breeze 发表于 2020-7-27 11:02:47

&c 取变量c的地址
c 取变量指向的值

zltzlt 发表于 2020-7-27 12:36:20

永恒的蓝色梦想 发表于 2020-7-27 00:33
printf 应该传值,而不是地址。

末尾漏了个花括号{:10_245:}

永恒的蓝色梦想 发表于 2020-7-29 17:46:34

zltzlt 发表于 2020-7-27 12:36
末尾漏了个花括号

LZ没加,我漏了{:10_245:}
页: [1]
查看完整版本: 向大佬求助有关指针与数组的问题