思考题1:位数输出
计算一个输入整数的十进制表示位数(单纯使用printf一族函数实现)
分析:printf函数的返回值是在屏幕上打印了多少个字符,这个可以用作输出的位数。
#include <stdio.h>
int main(){
int a;
scanf("%d", &a);
printf("n输出位数为%dn",printf("%d",a));
return 0;
}
![16cbeb2e627f1edce79d1f7ebcd7fe0b.png](https://i-blog.csdnimg.cn/blog_migrate/19e2cd8ac18c22618e458ad94bc50647.png)
思考题2:读入一行字符串
只使用scanf一族函数,读入有空格的字符串
分析:本身scanf是读到空格结束的,可以使用正则表达式,规定结束符号
#include <stdio.h>
int main(){
char ch[81];
scanf("%[^n]", &ch);
printf("%s", ch);
return 0;
}
![cbd7f82bc3d98ef6644da9768b9bcb0e.png](https://i-blog.csdnimg.cn/blog_migrate/83f298caf1cf9dd1cc28594879d596d4.png)
带颜色的输出
格式:033[属性代码{; 属性代码...}m 输入内容033[0m
0代表关闭所有属性
1代表高亮/粗体
4代表下划线
33代表黄色
这个代码要在linux环境下才可以生效,win10无法显示颜色。
1 #include <stdio.h>
2
3 int main(){
4 printf("033[1;4;33mhello color033[0m");
5 return 0;
6 }
7
![7792735e94b643e8eea02293de9edef8.png](https://i-blog.csdnimg.cn/blog_migrate/8b7fe4606669dce0dd59386b383e8b1f.png)