
c语言疑惑
谁动了我的吐司
live the way you like
展开
-
字符串与字符数组
一 . 使用带%s格式符的scanf函数读入字符串时,不需要再参数前加取地址符&。 原因:编译器会自动将数组名作为数组首地址来处理。 如:scanf("%s", str); 二 . 字符数组与字符串 (这两个概念其实现在我也不是很清楚),但看到的一句话可以帮助理解:在C语言中,将字符串当作字符数组处理。字符数组的初始化: char str[3] =原创 2017-11-14 16:41:12 · 573 阅读 · 0 评论 -
用字符串常量对字符数组进行初始化
有几种错误的初始化方法要注意:char str[3] = {"abc", " ", " "}; error : excess elements in char array initializer char str[3] = "abc"; char str[3] = {"abc"}; 这两种不会提示错误,但输出时会乱码。 原因:当编译器将字符串赋给字符数组时,原创 2017-11-14 21:33:32 · 7463 阅读 · 0 评论 -
今天指针练习
今天指针练习 一、 char *const p; //p不可改变 char const *p; //*p不可改变 const char *p; //*p不可改变,同上 刚开始想的既然p不可变,那么我先定义p = &a, 再定义p = &b,自然会出错,确实是这样。 那*p不可变,我定义p = &a, 再定义p = &b,也会出错咯,因为它的*p转载 2018-01-22 18:18:10 · 291 阅读 · 2 评论 -
今日指针练习
一、 这个函数有什么问题?该如何修改? char *strA() { charstr[] ="hello world"; returnstr; } 解析:这个str里存在的地址是函数strA栈里“hello world”的首地址。函数调用完成,栈帧恢复调用strA之前的状态,临时空间被重置,堆栈“回缩”,strA栈帧不再属于应该访问的范围。这段程序可以正确输出结果,但是这原创 2018-01-23 16:03:31 · 285 阅读 · 0 评论 -
关于转义序列
关于转义序列 \a \1 \r \t \b 等等 一个转义序列示例 程序清单3.10 escape.c程序 /*escape.c -- 使用转义序列 */ #include <stdio.h> int main() { float salary; printf("\aEnter your desired monthly salary:"); ...原创 2018-07-30 12:31:32 · 587 阅读 · 0 评论 -
C/C++读写文本文件、二进制文件
一:目的 掌握C语言文本文件读写方式; 掌握C语言二进制文件读写方式; 掌握CPP文本文件读写方式; 掌握CPP二进制文件读写方式; 二:C语言文本文件读写 1. 文本文件写入 //采用C模式对Txt进行写出void TxtWrite_Cmode(){ //准备数据 int index[50] ; double x...转载 2018-09-25 20:30:48 · 1473 阅读 · 0 评论