c语言问题,帮我看一下这道奇葩的题怎么回事?为什么运行是这个结果?#includeint main(){ char*s="\ta\017bc"; char*b="\ta\018bc"; char*k="\ta\033bc"; for(;*s!='\0';s++) { printf("*"); } printf("\n"); for(;*b!='\0';b++) { printf("
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/25 05:30:52
c语言问题,帮我看一下这道奇葩的题怎么回事?为什么运行是这个结果?#includeint main(){ char*s="\ta\017bc"; char*b="\ta\018bc"; char*k="\ta\033bc"; for(;*s!='\0';s++) { printf("*"); } printf("\n"); for(;*b!='\0';b++) { printf("
c语言问题,帮我看一下这道奇葩的题怎么回事?为什么运行是这个结果?
#includeint main(){ char*s="\ta\017bc"; char*b="\ta\018bc"; char*k="\ta\033bc"; for(;*s!='\0';s++) { printf("*"); } printf("\n"); for(;*b!='\0';b++) { printf("*"); } printf("\n"); for(;*k!='\0';k++) { printf("*"); } printf("\n"); return 0;}
c语言问题,帮我看一下这道奇葩的题怎么回事?为什么运行是这个结果?#includeint main(){ char*s="\ta\017bc"; char*b="\ta\018bc"; char*k="\ta\033bc"; for(;*s!='\0';s++) { printf("*"); } printf("\n"); for(;*b!='\0';b++) { printf("
哪儿奇葩了?
#include<stdio.h>
int main()
{
char*s="\ta\017bc"; //\t a \017 b c 共5个字符
char*b="\ta\018bc";//\t a \01 8 b c 共6个字节 \0开始的是八进制数,八进制数没有8,最大为7,所以是\01 8 分开的
char*k="\ta\033bc"; // \t a \033 b c 共5 个字符
for(;*s!='\0';s++)
printf("*");
printf("\n");
for(;*b!='\0';b++)
printf("*");
printf("\n");
for(;*k!='\0';k++)
printf("*");
printf("\n");
return 0;
}