C语言
C语言基础知识
LittleBug2020
想法加技术改变世界
展开
-
fgets()多次读取文件流
引用:用fgets执行之后,读取了文件中的一行,这时文件位置指针是自动指向文件的下一行的开头吗,还是指向当前行的结尾?如果一行的字符串没读取完会怎样?下次使用fgets读取同一个文件时会怎样?百度:从文件结构体指针stream中读取数据,每次读取一行。测试结果:如果一行的字符串没读取完会,下一次会接着上一次读取;如果读完了,直接从下一行开头开始。#include <stdio.h>#include <stdlib.h>#include &.原创 2021-07-10 11:33:25 · 1672 阅读 · 0 评论 -
读取访问权限冲突问题
问题:执行函数case2时在22行出现异常:读取访问权限冲突,如下图代码段#include <stdio.h>#include <stdlib.h>int case1(int a[], int length){ int res = 0; for (int i = 0;i < length;i++) { res ^= a[i]; } return res;}int case2(int arr[], int length, int res[]){原创 2020-06-22 07:26:36 · 3030 阅读 · 0 评论 -
switch语句被pass问题
首先直接贴代码功能:十进制数转16进制数,并且输出屏幕。int i, j, a; printf("please input a number\n"); scanf("%d", &a); char b[100]; for (i = 0;a!=0;i++) { b[i]= a % 16; a = a / 16; switch (b[i]) { case '10': b[i] = 'A'; break; case '11': b[i] = 'B'; bre原创 2020-06-14 08:57:43 · 309 阅读 · 0 评论 -
为什么VS2017中要连续三次键入ctrl+z?
网上解释:跟着断点进去,第一次ctrl+z被whitespace判断吃掉了,第二次ctrl+z被parse_integer吃掉了(虽然后面有unget,但不知道具体作用)。第三次ctrl+z才是被用来触发eof的。确实,前两次值为\xla,后一次直接退出#include <stdio.h>#include <stdlib.h>int main(){ char a; int alp = 0, num = 0, oth = 0; while (scanf("%c", &原创 2020-06-11 06:57:15 · 1469 阅读 · 2 评论