问题描述
- c语言转移字符的问题?
-
运行环境:VS2013
问题 是一个网站上的讲c语言的转移字符
链接:http://blog.163.com/sunshine_linting/blog/static/44893323201181325818165/
然后呢 我提问的部分在下面:转义字符的使用
例:
void main()
{
int a,b,c;
a=5; b=6; c=7;
printf("%dnt%d %dn %d %dtb%dn",a,b,c,a,b,c);
}此程序练习转义字符的使用:
a、b、c分别为整数5,6,7
调用printf显示程序运行结果:
5
67
56 7
程序在第一列输出a值5之后就是“n”,故回车换行;接着又是“t”,于是跳到下一制表位置(设制表位置间隔为8),再输出b值6和c 值7;后又是"n",因此再回车换行;之后又输出a值5和b值6;再次后"t"跳到下一制表位置(与上一行的6 对齐),但下一转义字符“b”又使退回一格,故紧挨着6再输出c值7。#include<stdio.h> #include<stdlib.h> int main() { int a, b, c; a = 5; b = 6; c = 7; printf("%dnt%d %dn %d %dtb%dn", a, b, c, a, b, c); //%d //8个空格%d %d //%d %d 8个空格 后退一个格%d //press any key continue system("pause"); return 0; }
解决方案
b并不是回一个空格,你的这个b是回退的一整个t,然后,,,覆盖掉了
解决方案三:
不知道你的怎么搞的,我的复制你的代码是和上面的运行结果一致的
解决方案四:
printf("%dnt%d %dn %d %dtb%dn",a,b,c,a,b,c); 我们一个个来拆嘛:
n 是换行且光标回到最左端
t 是光标从当前往后走一个制表符,一般是4个空格,但仍然按一个字符算
b 是退格,光标往回退一个字符
如此从左往右一个个推,你的输出结果是对的。
时间: 2024-10-30 02:28:32