粗心错题#include <stdio.h> void main() { int a=0; int b=30; do{ b-=a; if(b<5); { break; } a+=5; }while(a); printf("%d,%d\n", a,b); } 没看清if后面是 ; 后面的代码块照样执
程序的翻译环境test.c ------编译--链接------>test.exe---------->运行 |------翻译环境--------| |-----运行环境-----|翻译环境:指的是源代码被转换为可执行的机器指令运行环境:用于实际执行代
什么是文件磁盘上的文件就是文件,但是在程序设计中,我们一般谈的文件有两种:程序文件,数据文件程序文件包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序文件(windows环境下后缀名为.exe)数据文件文件的内容不一定是程序,而是程序运行时候写的数据,比如程序运行需要从中读取文件或者是输出内容文件文件名一个文件要有一个唯一的文件标识,以使用户识别和引用,文件名包
动态内存分配的存在意义 我们掌握的开辟空间的方式有:int val =20; char arr[10]={0};但是这种方法开辟的空间有两个特点空间开辟的大小是固定的数组在声明的时候必须指定数组的长度,它所需要的内存在编译时分配。 C语言是可以创建变长数组的,在C99中增加了这一项,但是,许多
内置类型---int short char double flaot---C语言自己的类型复杂类型---结构体,枚举,联合体---自己创造的类型结构体结构体类型引用声明结构体是一些值的集合,这些值可以是不同类型。struct Stu//如果不屑Stu就是匿名结构体类型 { member-list;//--成员列表 }Variable-list;//变量列表 //声明一个结构体类型 struct
指针-指针得到的是指针之间的元素个数,不是字节个数字符串追加 strcat 和strncat自己给自己追加的时候,strcat会崩溃因为首字母是把\0替换掉strncat就可以strcat(Den , Sour);strncat(Den,sour,count);strstr(Den,Sour)找子串的 如果找到了返回Den字符的地址,找不到返回空指针字符串---常量字符串,
int main() { int a[5][5]; int(*p)[4]; p = a; printf("%p,%d\n", &p[4][2] - &a[4][2], &p[4][2] - &a[4][2]);//p[4][2]== *(*(p+4)+2) return 0; }C语言运算符优先级优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组
Segmentation fault---段错误segmentfault.comwww.stackoverflow.comchar* p="abcdef"; *p='w';此时p是不能被改的,能编译但是不能运行,会报段错误;因为“abcdef”是常量字符串。int main() { char* arr[5]; char* (*pc)[5] = &arr; return 0; }&nb
数据在内存中,有int short char 等等---他们在limit.h中定义而double float long double 在float.h中定义 IEEE S(符号位) E(指数) M(有效数字) (-1) ^ s * M * 2
数据在内存中的存储 1 ---整形和浮点型
函数
数组
video 3~指的是按位取反。此时“位”值的还是二进制位;++k和k++的区别,前置++是先++再使用,后置++是先使用在++;强制类型转换:在想要转换类型的前面加上括号然后给与相应的类型名称,进行强制类型转换。三元操作符 ? :-----------a?b:c 指的是,a?b要为真的话输出的值为b,若为假的话输出的值为c ,举例,a>b?a:b,当a>b的时候输出为a相反输出
video2scanf;strcpy;strlen;strcat等函数是不安全的,在vscode内会自动提供一个更安全的函数如scanf_s,但是这样就扼杀了程序的兼容性,所以我们一般不采取这样方式来解决,而是在第一排声明,加入#define _CRT_SECURE_NO_WARNINGS 1这样一句话,使其失效,可以在vs的vsprojectitems文件夹中找到newc++file.cpp文件
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号