关于C语言中TAB制表符的位置,求大神(๑˙ー˙๑)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于C语言中TAB制表符的位置,求大神(๑˙ー˙๑)相关的知识,希望对你有一定的参考价值。
这里看不懂了,为什么第三个TAB区是在第17列,第五个TAB区是在33列,按照书上说的第三个不应该是第10+8列吗?
TAB制表符的位置是固定的,每8列为一个TAB区,每个区的第一个字符位置叫"制表位"。可知第一个制表位是是屏幕上左边第一个位置,第二个制表位是屏幕上第9个位置,如下表:TAB区 位置
1 1
2 9
3 17
4 25
5 33
6 41
按一次TAB键或执行一次\t,光标从当前位置移动到最近的下一个制表位。
按书上的例子,先打印10个字符,这时光标位于第11位置,已经处于第二个TAB区,离光标最近的下一个制表位是第三个TAB区的第17位置,所以,执行\t后,光标移动到17位置,将在这个位置开始输出下一个数字。
同理,从第17位置开始输出另外10个字符后,光标就到达第27位,再次执行\t后,光标移动到下一个制表位33(第5个TAB区)。
而不是你所说的10+8位置。 参考技术A Tab是用来对齐的符号,Tab的区间是固定的,从左开始每8位算一个Tab区间(不管有没有字符显示都是这样子),当我们使用\t命令时,就是切换到下一个Tab区间,和你现在字符的具体位置没有关系,只与现在字符末尾字符的Tab区间有关系,比如10位的字符,末尾落在第二区间,则\t后从第三区间开始即17位,不管结尾是9、10、11、12等等,只要落在第二区间,那麼\t以後必然从第三区间17位开始。本回答被提问者和网友采纳 参考技术B \t 就是C语言的Tab制表符,这是一个转义字符,也叫逃逸字符,每个制表位应该是6个空格,但是我记得C语言没有那种可以精准定位的函数,建议可以自己写,我们不一定只用C语言自带的功能。
求大神,关于c语言删除函数
void deletel(struct st *head)
stud *p,*q;
char c,N[10];
char Num[15];
int m;
p=head;
p=(stud *)malloc(sizeof(stud));
q=(stud *)malloc(sizeof(stud));
q=p->next;
p=head;
if(p->next!=NULL)
printf("1--按姓名删除,2--按学号删除\n");
printf("你的选择是\n");
scanf("%d",&m);
getchar();
switch(m)
case 1: printf("你要删除人的姓名为\n");
gets(N);
while((p!=NULL)&&(strcmp(p->name,N)!=0))
p=p->next;
break;
case 2:
printf("你要删除的人的学号为\n");
gets(Num);
while((p!=NULL)&&(strcmp(p->num,Num)!=0))
p=p->next;
break;
default :printf("输入错误:\n");
q=p->next;
if(q==NULL)
printf("未找到指点节点,没有执行删除\n");return;
printf("你要删除人的信息为\n");
printf("学号 姓名 性别 出生年月 年龄 电话\n");
printf("%-14s%-10s%-8s%-12s%-8d%-15s\n",p->num,p->name,p->sex,p->born,p->age,p->tel);
printf("你确定删除此人,y——删除,n——不删除\n");
c=getchar();
if(c=='y')
p->next=q->next;
free(q);
return;
return;
p=(stud *)malloc(sizeof(stud));
q=(stud *)malloc(sizeof(stud));
你只是用了这两个指针,为它们分配空间一是没必要,二是内存会泄露
2. 看你的代码应该是有头结点的链表,搜索的时候p=head;p初始化为了head,指向了头结点,搜索的时候应该从p->next开始,而你用的while((p!=NULL)&&(strcmp(p->name,N)!=0)),应该用p->next!=NULL。而且后面删除的时候也删除的是p->next,所以比较的话也应该用p->next:strcmp(p->next->name,N) 参考技术A 楼上是正解,采纳他的第二条建议可解决问题;采用第一条可提高程序性能。
以上是关于关于C语言中TAB制表符的位置,求大神(๑˙ー˙๑)的主要内容,如果未能解决你的问题,请参考以下文章
C语言,求15以内的素数,关于num=1时,怎么修改?求大神
关于用C语言求一个小数求小数点后面的位数多少的问题,求大神解答。