黑马程序员技术交流社区
标题:
编程中遇到的小问题关于字符的
[打印本页]
作者:
Freedam
时间:
2014-4-14 21:20
标题:
编程中遇到的小问题关于字符的
本帖最后由 Freedam 于 2014-4-19 00:55 编辑
#include <stdio.h>
#include <stdlib.h>
int main()
{
char c;
c = "0123456789"[8];
printf("%c",c);
return 0;
}
复制代码
请大家帮忙解释一下这段程序,主要是为什么这个"0123456789"[8]可以这样写,程序编译通过可以运行。
作者:
悟中生有
时间:
2014-4-14 21:44
我是这样理解的C语言字符串内部其实也和字符数组差不多的,"0123456789"[8] 这样写,和访问字符数组下标为c[8]的元素的道理应该是一样的。
#include <stdio.h>
int main()
{
char c;
c = "0123456789"[8];
char c1[] = "0123456789";
printf("%c\n",c);
printf("%c\n",c1[8]);
return 0;
//运行结果是一样的
}
复制代码
作者:
m573555543
时间:
2014-4-15 12:38
c = "0123456789"[8];把这个0123456789当成当成指针,指向这个字符串。
相当于: const char *data="0123456789";
c=data [8】
作者:
悠悠·漠漠
时间:
2014-4-16 00:20
我是这样理解的,存在一个数组存储"0123456789",char c="123456789"[8]就是存储该数组下标为8所对应的字符
#include <stdio.h>
int main(void){
int i;
for(i=0;i<7;i++)
{
char c="ABCDEFG"[i];
printf("%c\n",c);
}
}
复制代码
不确定这么理解对否!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2