![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言
C语言相关
明月映雪
这个作者很懒,什么都没留下…
展开
-
C语言 求输入一行字符串,查找其中最长的单词
相关代码如下,为了省辅助空间,没有另外定义数组。这里需要注意在原来字符串上的操作,注意防止字符串的截断(使用’\0’,使后边的字符串无法读取)。#define MAXSIZE 1024int main(int argc, char *argv[]){ char str[MAXSIZE]; int count=0; int max=0; int i=0; char *array=...原创 2020-03-13 11:22:12 · 3401 阅读 · 0 评论 -
C语言 输入输出相关总结
int main(int argc, char *argv[]){ // getchar()可以接受键入的任何值,包括制表符和回车键 printf("input a word,\n"); printf("word:%c\n",getchar()); printf("输入完成\n"); return 0;}int main(int argc, char *argv[]){ c...原创 2020-03-12 22:27:05 · 399 阅读 · 0 评论 -
C语言 关于结构体相关练习
本练习题目是谭浩强C中的7.14,并做了简单修改。已知十名学生和其相应的五门课程成绩。(1)求五门课程的各自平均成绩。(2)找出每门课程的最高成绩和其对应的学生姓名.(3)按照第一门课程的成绩从小到大排序。(4)求平均分方差。typedef struct Student{ //学生结构体 char name[32]; double score[5];}Student;int mai...原创 2020-03-12 21:46:39 · 488 阅读 · 0 评论 -
C语言 实现将16进制数转成10进制数
C语言 实现将16进制数转成10进制数int main(int argc, char *argv[]){ hextoDec(0xffff); return 0;}void hextoDec(int hex){ int sum=0,mul=1; int i,r; int count=0; do{ r=hex%16; for(i=0;i<count;i++) ...原创 2020-03-10 14:55:45 · 7127 阅读 · 1 评论 -
C语言 数组作为函数的参数传递时会退化为指针
/** 数组作为函数的参数传递时,数组名会退化为指针 *//**运行结果:sizeof(acWelcome):30strlen(acWelcome):19sizeof(acWelcome):4strlen(acWelcome):19请按任意键继续. . .*/int main(int argc, char *argv[]){ char acWelcome[30]="W...原创 2020-03-10 13:37:40 · 400 阅读 · 1 评论 -
C语言内存的若干总结
int main(int argc, char *argv[]){ char *str = NULL; allocateMemory(&str); strcpy(str,"hello world"); printf(str); return 0;}void allocateMemory(char **p){ *p = (char *)malloc(sizeof);}...原创 2020-03-10 13:29:21 · 197 阅读 · 0 评论 -
C语言 数组的小问题
静态数组,未赋值的默认情况下,元素值是0,非静态情况下是任意数值。本代码是在数组未赋值的情况下,给数组中间部分元素赋值,printf("%s\n",str); 是当字符串访问,其结束符是‘\0’,所以当静态数组的时候,会什么也没显示,因为数组未赋值情况下元素默认是0或者是‘\0’(本质是一样的),如果是非静态数组,则会在输出几个乱码后结束,因为随机的默认值会随机出现‘\0’,导致结束int m...原创 2020-03-07 15:55:49 · 1164 阅读 · 0 评论 -
C语言 编写单链表所遇到的若干问题和易犯的错误
typedef struct{ int id; char name[5]; double scores; struct Node *next;}Node; int main(int argc, char *argv[]){ /** 注意:指针若指向未分配的地址会导致崩溃 Node *head; head->next=NULL; 这是典型错误,没有分...原创 2020-03-07 14:09:57 · 6279 阅读 · 1 评论 -
C语言文件的简单存储
最近在复习C语言,遂将以前的笔记整理,以供以后翻阅。这是实现文件的读入和文件的写出。基本步骤是:1.先判断文件是否可以打开,2.进行文件的读入或者写出,3.读写完毕,关闭文件。/** “a” 如果没有文件,则会创建文件,如果文件存在,则会打开文件后在文件末尾添加 “w” 如果没有文件,创建文件,如果有文件,则是将原有内容清空,重新写入内容 “r...原创 2020-03-10 12:31:22 · 3532 阅读 · 0 评论 -
C语言 字符串中的数字存储到int型数组中的若干小问题(二)
这段代码主要是将一串字符中的数字转化成int型,并保存到int型数组中。容易犯的错误,字符串中的数字在进行判断的时候,容易误漏了单引号,比如 if ((str[i-1]==‘0’)||num!=0),这个在判断的时候误写成str[i-1]==0,导致字符串中的0无法输入到int型数组中,结果花费过长时间才发现。int main(int argc, char *argv[]){ char ...原创 2020-03-08 14:25:32 · 1095 阅读 · 0 评论 -
C语言 字符串中数组转int型所遇到问题(一)
自己给自己挖的坑,哎。首先,这个代码的关键点在于for循环的for(i=0;i<=strlen(ch);i++)中的i<=strlen(ch),这个又和ch[i]-=48;有着密切的关系。而判断字符串的长度的标志是‘\0’,而这个标志在ASCII码中是0,就是整数0。字符串中的数字从0开始,在ASCII码中是从48开始的,在循环在i=0~3的时候,strlen长度是13(就是原来字...原创 2020-03-07 21:08:15 · 514 阅读 · 0 评论