求解答\t问题
#include<stdio.h>struct student
{
int num;
char name;
float score;
};
void main()
{
void print(struct student stu[]);
struct student stu;
int i;
printf("请输入3个学生的个人信息:\n");
for(i = 0;i < 3;i++)
scanf("%d%s%f%f%f",&stu.num,stu.name,&stu.score,&stu.score,&stu.score);
print(stu);
}
void print(struct student stu[])
{
int i;
for(i = 0;i < 3;i++)
{
printf("num:%d\tname:%s\tscore:%6.2f,%6.2f,%6.2f\n",stu.num,stu.name,stu.score,stu.score,stu.score);
}
}输入3个学生的信息,只要输入学生名字小于3个字符(stu.name = “hu”),打印的时候\t怎么就不起作用。 这个是没有的,点错了
这个程序本身就有问题啊,编译出错{:10_266:} 额(-。-);我是用的VS2015,有安全检查所以出错,还有就是打印的时候没问题啊 C:\Users\Administrator\Desktop 难道是编译器问题,我的是VS2010{:10_266:} 本帖最后由 Krant5 于 2016-8-20 22:58 编辑
我试过了确实是这样,我查了挺多资料我可以给你解释下这个问题。
注意看图上\t是以列对准的,就是说前八个字符算是一列,那么我在第一列第七个字符了加上\0刚好八个字符,我还是在第一列,这时候\t给你跳到 第二列第一个字符去,你感觉就跟没用似的,但他事实上就是发挥了作用。
总结:无论你在当前列第几个字符,\t总是会让你跳到下一列第一个字符的位置。
懂了就采纳! http://mdgsf.github.io/c/2016/05/24/c-tabs.html
这个或许对你有帮助 Krant5 发表于 2016-8-20 22:53
我试过了确实是这样,我查了挺多资料我可以给你解释下这个问题。
注意看图上\t是以列对准的,就是说前 ...
{:9_232:}懂了哈哈 mdgsf 发表于 2016-8-20 23:52
http://mdgsf.github.io/c/2016/05/24/c-tabs.html
这个或许对你有帮助
{:9_232:}{:9_232:}
页:
[1]