c字符指针数组的编译报非数组错误

悟空没了筋斗云 发布于 2016/09/18 09:43
阅读 409
收藏 1

我看到文档上写的字符串初始化的时候是一个字符数组,然而代码却没有编译通过

以下是我写的C代码

#include <stdio.h>

main(){
    int n=1 ,*p=&n;
    void* pv = p;
    int* p2 = pv;
    printf("n value is:%d\n", *((int*)pv) );
    char* ss = "lala";
    printf("char ss is:%s\n", (*ss)[0]);
}

编译提示:

error: subscripted value is neither array nor pointer nor vector
     printf("char ss is:%s\n", (*ss)[0]);

请问各位大大,是我哪里写的不对吗?



加载中
1
快乐的一只小青蛙
快乐的一只小青蛙

提示很清楚了,%s是字符串占位符,(*ss)[0]是个什么玩意????

认真看书,别什么问题都来问

快乐的一只小青蛙
快乐的一只小青蛙
回复 @润群 : 占位符用%c, 后面用ss[0]或者*ss就可以了
悟空没了筋斗云
悟空没了筋斗云
那怎样输出ss字符串中的第一个字符呢?
0
wei2011
wei2011
printf("char ss is:%c\n", ss[0]);



0
乌龟壳
乌龟壳

因为:char *ss

所以:*ss是char,char哪来的[0]操作?

所以正确的写法是ss[0]

0
s
sunger7

问题太简单,基础太薄弱,继续努力

返回顶部
顶部