结构变量输入不正确的顺序可能会导致不正确的操作结果
写一个程序,需求:由...制作3单向动态列表学生数据节点配置,输入学生数据向每个节点
(每个学生的数据包含学号、全名、成就)。每个节点然后逐个输出数据。
正确的程序,如下面的:
#include<stdio.h>
#include<malloc.h>
#define LEN sizeof(struct student)
struct student
{
int num;
char name[20];
float score;
struct student *next;
} ;
void main()
{
struct student *head,*p,*q;
head=p=(struct student*) malloc(LEN);
scanf("%d,%f,%s",&p->num,&p->score,p->name);
p=(struct student*) malloc(LEN);
scanf("%d,%f,%s",&p->num,&p->score,p->name);
q=(struct student*) malloc(LEN);
scanf("%d,%f,%s",&q->num,&q->score,q->name);
head->next=p;
p->next=q;
q->next=NULL;
p=head;
printf("\n结点 1:%d,%5.1f,%s",p->num,p->score,p->name);
p=p->next;
printf("\n结点 2:%d,%5.1f,%s",p->num,p->score,p->name);
q=p->next;
printf("\n结点 3:%d,%5.1f,%s\n",q->num,q->score,q->name);
}
执行结果为:
输入:
10101,98,li
10102,87,wang
10103,76,qi
输出:
结点 1:10101, 98.0,li
结点 2:10102, 87.0,wang
结点 3:10103, 76.0,qi
错误的程序例如以下:
#include<stdio.h>
#include<malloc.h>
#define LEN sizeof(struct student)
struct student
{
int num;
char name[2];
float score;
struct student *next;
} ;
void main()
{
struct student *head,*p,*q;
head=p=(struct student*) malloc(LEN);
scanf("%d,%s,%f",&p->num,p->name,&p->score);
p=(struct student*) malloc(LEN);
scanf("%d,%s,%f",&p->num,p->name,&p->score);
q=(struct student*) malloc(LEN);
scanf("%d,%s,%f",&q->num,q->name,&p->score);
head->next=p;
p->next=q;
q->next=NULL;
p=head;
printf("\n结点 1:%d,%5.1f,%s",p->num,p->score,p->name);
p=p->next;
printf("\n结点 2:%d,%5.1f,%s",p->num,p->score,p->name);
q=p->next;
printf("\n结点 3:%d,%5.1f,%s\n",q->num,q->score,q->name);
}
执行结果为:
输入:
10101,wang,,98
10102,wani,,87
10103,wangx,,76
输出:
结点 1:10101, 0.0,wang,,98 p�
结点 2:10102, 0.0,wani,,878p�
结点 3:10103, 0.0,wangx,,7
想要得到的结果应该为:
结点 1:10101, 98.0,wang,
结点 2:10102, 87.0,wani,
结点 3:10103, 76.0,wangx,
假设将想要输入的字符串数组放在输入的中间,就极有可能导致
在输入完字符串之后,还会将接下来输入的内容输入到字符串中,
会导致输出值发生混乱,得不到想要的结果,因而,最好将字符串
输入參数放在參数列表的最后,这样它有可能避免输出错误。
版权声明:本文博客原创文章。博客,未经同意,不得转载。
转载于:https://www.cnblogs.com/lcchuguo/p/4653771.html
结构变量输入不正确的顺序可能会导致不正确的操作结果相关推荐
- 转一个文件扩展名(后缀)与Content-Type(Mime-Type)的对应关系表,做下载的时候会用到,Mime-Type设置不正确,很可能会导致下载失败,尤其是在手机上
文件扩展名 Content-Type(Mime-Type) 文件扩展名 Content-Type(Mime-Type) .*( 二进制流,不知道下载文件类型) application/octet-st ...
- c语言 程序数据要五行输出,C语言实验二程序、总结 顺序结构与输入、输出方法...
实验二顺序结构与输入/输出方法 一实验目的 1 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自增减运算 符的使用. 2 掌握C语言中赋值语句的使用. 3 掌握C语言中各种数据的输入/ ...
- c语言变量周围堆栈损坏csdn,围绕变量“输入”的堆栈已损坏(Stack around the variable 'input' was corrupted)...
围绕变量"输入"的堆栈已损坏(Stack around the variable 'input' was corrupted) 我刚开始使用C语言,但遇到了这个错误. 我试图在网上 ...
- 使用PostgreSQL以正确的顺序获取名称
Western and Eastern name orders can be a PITA, particularly when titles and honorifics come into pla ...
- 对C语言 结构数组 指向结构变量的指针 指向结构数组的指针
一.结构数组的定义 数组的元素可以是结构类型的.结构数组的每一个元素都是具有相同的结构类型的下标结构变量.在实际应用中,经常用结构数组来表示具有相同数据结构的一个群体. 如:一个班的学生的档案,一个车 ...
- 对C语言 结构体 和 结构变量
一.结构体/结构的引入 在学生的登录记录表中,姓名应该为字符型.学号可以为整形或字符型,年龄应该为整形,性别应该为字符型,成绩可以整形或实型.显然不能用一个数组来存放这一组数据,因为数组各元素的类型和 ...
- 【结构体】结构变量的定义与初始化
1.结构变量的定义 声明了结构类型后,还需要定义结构变量,以便在程序中引用它. 结构变量和其他变量一样,必须先定义后使用 (1)先定义结构类型,再定义结构变量 struct books { int b ...
- 具有单变量输入的CNN-LSTM编解码器模型
卷积神经网络(CNN)可以作为编解码器结构中的编码器.CNN不直接支持序列输入;相反,一维CNN能够读取序列输入并自动学习显著特征.然后可以按照正常情况由LSTM解码器解释这些.我们将使用CNN和LS ...
- 如何以正确的顺序重新安装驱动程序 | Dell 中国
购买 支持 社区 我的帐户 购买 支持 社区 如何以正确的顺序重新安装驱动程序 在戴尔笔记本电脑或台式机上手动重新安装Microsoft Windows操作系统后,您还必须以正确的顺序重新安装戴尔设备 ...
- 计算机内存堆,电脑卡顿就无脑堆内存?小A教你正确升级顺序是这样的!
原标题:电脑卡顿就无脑堆内存?小A教你正确升级顺序是这样的! 古时候,当电脑变慢卡顿时,通常添加更多内存(RAM)就能解决问题.这个「偏方」也一直流传下来,似乎一直有效? 古人在电脑房上网的珍贵影像 ...
最新文章
- Verilog赋值间延迟语句与赋值内延迟语句比较
- 嵌入式MVN指令解析
- C++ 输入输出流 文本文件 二进制文件读写
- (转载)C语言的零长数组
- C语言经典例98-将字符转为大写字母并写入文件
- 返回动态html,使用硒返回动态页面的html代码
- 作业调度问题java代码_Tabu Search求解作业车间调度问题(Job Shop Scheduling)-附Java代码...
- python pandas dataframe 不显示索引_python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)...
- Panel的基本用法
- [免费专栏] Android安全之某游戏APK逆向分析
- 题外-解决mac重启后git无法使用
- mysql执行查询的时间记录及查看
- Android 读取Txt文件内容
- python爬虫点触验证码的识别思路(图片版)
- 21个经典的哲理故事
- 怎样使用NetFlow分析网络异常流量一
- TerraMaster TOS 远程命令执行(CVE-2022-24989)TerraMaster TOS 敏感信息泄露(CVE-2022-24990)
- w3af漏扫的基本使用
- 关于计算机经历兼职的英文作文,关于兼职的英语作文 The Part Time Job
- Python爬虫入门教程:下载某网站付费文档保存PDF
热门文章
- 推荐一款好用的Web端JSON在线编辑器svelte-jsoneditor
- 运行CATIA2018主程序setup.exe时,报错setup:Problem with VC11 Runtime installation
- apicloud开发之使用usb真机同步到安卓虚拟机
- 网页滚动截屏怎么截长图
- Windows11动态磁贴替代软件大盘点 _φ(❐_❐✧ windows教程
- arcpy.ProjectRaster_management
- java坦克大战图片素材包,坦克大战素材包
- Shopee Games 游戏引擎演进之路
- 使用openlayers投影阿伯斯(Albers)
- Chrome浏览器历史版本下载