结构体更多还是类似于数组,只是比数组多了些样式。不论是对结构体数组得排序还是其指针等等,用法都与普通数组相差不大。只是要注意交换得时候,两者得类型应当是相同的。所谓结构体对结构体。
这次主要是想说说关于结构体的读入的时候,一些对于字符和数字的问题,主要是回车。
一.
当题目输入的时候,在输入完第一个后,如果后面接着输入的为字符类型(仅限于单个字符串会有此问题,如果是二维数组的字符串则不会有这种问题)的话,就有两种选择:
1.如果能选择以空格结束,就以空格结束上一次的输入,这样字符就不会读成回车了。
2.如果要以回车结束输出,拿就要再输入完第一个后,加上一个getchar(),这样就可以让回车读进getchar里面而不会影响字符数组。
注:能选择以空格结束的有 %c,%d,%f,%lf,%s,对于gets()则是读到回车才结束
二.
结构体作参的话,形参的类型还是要表明,比如 void can(struct stu *p);
而传进去的实参的话就只需要变量名就是了,比如
strcut stu stu1[10];
can(stu1);
具体问题具体分析,关于回车问题主要还是要看题目的示例输入中是选择的什么样的输入方式。
关于结构体
最新推荐文章于 2023-01-18 10:12:56 发布