c - 地址不会增加以打印字符

标签 c string pointers

#include<stdio.h>
int main()
{     
    char a[]="kimia";
    a++;
    printf("%c",*a);
}

地址本应加“1”并打印“i”,但我遇到了错误“l

需要作为递增操作数的值"

最佳答案

不能修改数组变量的地址。

但是,您可以添加到数组变量:

printf("%c", *(a+1));

和递增指针变量:

char *p = a;
p++;
printf("%c", *p);

关于c - 地址不会增加以打印字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23159867/

相关文章:

c - 循环内的 OpenMP 同步

c - 将文件逐行拆分为单词数组

python - 正则表达式组恰好匹配 n 次

string - 寻找想法 : lexicographically sorted suffix array of many different strings compute efficiently an LCP array

pointers - 将结构中的双指针传递给 CUDA

c - Android gcc sysroot 和链接器

c++ - 为什么 malloc 没有填满内存?

linq - LINQ不是以List <string>开头

c - 使用 strcpy 和等于运算符的字符串赋值

c - C 中的指针和循环