黑马程序员技术交流社区

标题: 字符串问题 [打印本页]

作者: huyingbin    时间: 2015-6-2 12:18
标题: 字符串问题
再输入一堆字符串中,里面包含数字和空格,使用系统源函数strlen不能记录数字,不知道有没有其他系统源函数能算出字符串长度
作者: 137707096    时间: 2015-6-2 13:24
sizeof()  strlen都行;
或者你不怕麻烦的话直接自己写一个for循环查'\0'
作者: 李闯    时间: 2015-6-2 21:28
长度不能记录数字? 这还真没注意  同求
作者: doushu    时间: 2015-6-2 21:43
dddd.......
作者: 鬼崇祟    时间: 2015-6-4 21:43
围观学习
作者: lz465350    时间: 2015-6-4 22:42
本帖最后由 lz465350 于 2015-6-4 22:58 编辑

①strlen就是计算字符串中的字符的个数啊,字符串里面的数字也是一个字符啊!比如说printf("%lu\n", strlen("123") );语句输出的个数就包含数字的个数啊!
②字符串中的数字也用字符表示啊,如char  szString[10] = "123 abc";语句,szString[0]的值就是字符'1',对应的ASCII值是49;szString[4]的值就是字符'a',对应的ASCII值是97。程序如下:
  1. #import <Foundation/Foundation.h>

  2. int main()
  3. {
  4.     //1.定义一个字符串数组
  5.     char szString[10] = "123 abc";
  6.    
  7.     //2.读出该字符串的长度,也就是其中字符串的个数,strlen遇到'\0'便结束,也就是字符串的结束符
  8.     //我们看不到一个字符串的结束符,却能看见字符串的最后一个字符(不要把空格当成了结束符)
  9.     printf("字符串szString的长度是:%lu\n", strlen(szString) );
  10.    
  11.     //3.输出第1个和第5个字符
  12.     printf("字符串szString第1个字符是:%c,对应的ASCII是:%d\n", szString[0], szString[0] );
  13.     printf("字符串szString第5个字符是:%c,对应的ASCII是:%d\n", szString[4], szString[4] );
  14.     return 0;
  15. }
复制代码

运行结果如下:
  1. 字符串szString的长度是:7
  2. 字符串szString第1个字符是:1,对应的ASCII是:49
  3. 字符串szString第5个字符是:a,对应的ASCII是:97
  4. Program ended with exit code: 0
复制代码




作者: aofex    时间: 2015-6-4 22:45
刚学几天   不是用sizeof()能看出占用几个字节吗  '&'是看内存的地址!!!
作者: 晗修    时间: 2015-6-5 00:41
strlen可以计算带数字的字符串啊
作者: chensc    时间: 2015-6-6 07:44
学习学习!
作者: 小龙女的萝卜    时间: 2015-6-6 08:12
围观学习

作者: 天下1083    时间: 2015-6-6 09:52
学习中¥¥¥¥
作者: 任伟    时间: 2015-6-6 10:08
不大清楚啊   
作者: aofex    时间: 2015-6-8 13:53
这个函数 前两天看过  这几天又忘了 唉
作者: 马贺飞    时间: 2015-6-10 13:40
围观学习




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2