A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© holfioo 中级黑马   /  2015-5-12 13:22  /  1294 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 holfioo 于 2015-5-12 17:25 编辑

这两天讨论比较多的,小白的我理解还不是很透彻。
  1. #include <stdio.h>
  2. #include <string.h>
  3. int main()
  4. {
  5.     int a, b, c,d ;
  6.    
  7.     char *ss = "0123456789";
  8.    
  9.     a = sizeof(ss);
  10.    
  11.     b = sizeof(*ss);
  12.    
  13.     c = strlen(ss);
  14.    
  15.     d = strlen(*ss);
  16.    
  17.     printf("a = %d, b = %d, c = %d, d = %d \n ",a,b,c,d );
  18.     return 0;
  19. }
复制代码
系统提示。。貌似是我指针用错了。。


屏幕快照 2015-05-12 下午1.21.01.png (16.74 KB, 下载次数: 4)

屏幕快照 2015-05-12 下午1.21.01.png

6 个回复

倒序浏览
*SS是指针,不是字符串,所以不能使用strlen方法
回复 使用道具 举报
strlen  参数里面他要你放字符的指针,,,   *ss  是取指针指向地址的内容....
回复 使用道具 举报
binglin 发表于 2015-5-12 13:39
*SS是指针,不是字符串,所以不能使用strlen方法

我得再理解理解指针- -
回复 使用道具 举报
是的哈,一起努力吧
回复 使用道具 举报
你这里*ss应该是一个指针,不是字符串啊
回复 使用道具 举报
系统已经用红线标明了,所以你就可以知道*ss不能用strle
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马