当前位置: 代码迷 >> C语言 >> 请教一个问题
  详细解决方案

请教一个问题

热度:115   发布时间:2008-05-19 14:33:49.0
请教一个问题
#include <stdio.h>
void main()
{
   char *s="\ta\018bc";
   for( ;*s!='\0';s++)
      printf("*");
}   
为什么循环执行6次,而不是9次?'\t'执行8次,''a'执行一次,这个解释不对吗?
----------------解决方案--------------------------------------------------------
这个问题好奇怪,我试了试有时候他\0后面的内容也会输出....
----------------解决方案--------------------------------------------------------
/t为什么执行八次呢
同问
----------------解决方案--------------------------------------------------------
\t只执行了一次
----------------解决方案--------------------------------------------------------
char *s="\ta\018bc";
其中
s[0]='\t'
s[1]='a'
s[2]='\018' //8进制
s[3]='b'
s[4]='c'
s[5]='\0'

so
6个元素 循环6次
----------------解决方案--------------------------------------------------------
#include <stdio.h>
void main()
{
   char *s="\ta\088bc";
   for( ;*s!='\0';s++)
      printf("* ");
}
----------------解决方案--------------------------------------------------------
s[2]='\018'??不是八进制..s[2]='\01'八进制
----------------解决方案--------------------------------------------------------
恩``````  8进制里当然不可能出现8

伤心过渡了~   我的动漫啊~~~~~~

7个元素循环6次,最后一个元素是结束符
----------------解决方案--------------------------------------------------------
你就连燕子都毒害了..你的h漫...
----------------解决方案--------------------------------------------------------
呵呵
----------------解决方案--------------------------------------------------------
  相关解决方案