行文规范
#include <stdio.h>
int main( )
{
int a,b; # 4个空格
stanf("%d %d", &a,&b); # 这里是输入格式,切记stanf("%d",&a)
if(a>b) { # 习惯放上面
printf("%d\n", a); # 这里是打印格式,切记printf(%d,a)
}
else {
printf("%d\n", b);
}
return 0;
}
1.检查是否是tab键的快捷方法,调节tab为8个空格
2.记住if后面一句话可以不写括号,但是这样不利于将来修改代码,忘了补上会出问题
3.
和->sum、
积->product、
temporary->temp-tmp、
flag->flg标志、
statistic->stat 统计(多用于数组)、
记数count、
increament加1-inc、
decrement减一>dec、
消息message->msg、
value值->val、
加减乘除
addition->add
subtraction ->sub
multiplication ->mul
divide ->div
取余数 modulus ->mod
max最大值
min最小值
position 位置 ->pos,idx(index)
size大小
array数组->arr
4.有多个单词用下划线
列出所有质数 (prime)
void list_all_prime()
{
}
查找出最大值的位置
int find_max_pos(int arr[],int n)
{
}
5.注释写法
/**
*用于注释下面函数用途
*@param arr 一个数组
*@param n 数组的长度
*@return 最大值的下标
*/
/**
*用于注释下面函数用途
*@param arr 一个数组
*@param n 数组的长度
*@return 最大值的下标
*/
//...
if a>b
{
}
int find_max_pos(int arr[], int n)
{
}
#include <stdio.h>
int main(void) {
int a = 10;
if (a < 10) {
int = a + 10;
printf("A is less than 10\n");
}
else {
printf("A is greater than 10\n");
}
return 0
}
# if (a < 10)
# printf("A is less than 10\n");
#尽量不要这样省略括号
B站视频 https://www.bilibili.com/video/av9855378 讲的挺好的,大概懂了,或于以后还需要再听一遍
指针
int main() {
int a = 10;
a++;
printf("a = %d\n", a);
}
调用函数:void increament()调用完全部被销毁
#include <stdio.h>
void increament(int a) {
a++;
}
int main() {
int a = 10;
increament(a);
printf("a = %d\n", a);
}
结果a=10
#include <stdio.h>
void increament(int *p) {
(*p)++; # 这里做了改动
}
int main() {
int a = 10;
increament(&a);
printf("a = %d\n", a);
}
# 结果a=11,P所指的a里面的内容++
&a是a的地址,increament,
将a的地址复制一份给*p,
现在*p和&a里面的内容都是10,
然后(p*)++将*p里面的内容加1变成11,
*p销毁&a内容
swap()这里必须用指针
void swap(int*a, int*b)
# 交换内容
# c语言中必须用指针
# 如果不用指针,他会自己创建ab然后自己交换,
# 对main函数里面的ab不造成影响
#貌似写的不对
int arr[] = {5,6,7,8,9}
int *p = &arr[0];
void move_p(int *p, int arr[]) {
p=&arr[1];
}
int main() {
int arr[] = {5,6,7,8,9};
int *p = &arr[0];
move_p
}
![](https://i-blog.csdnimg.cn/blog_migrate/a9184d43b97f95603fcb21e9e42eb537.png)
方法一:
#方法一:此种写法是复制了一个指针P给了pointer 最后返回给p
#include <stdio.h>
void increament(int *p) {
(*p)++;
}
int* void move_p(int*pointer, int arr[]) { // 返回一个int的地址
pointer = &arr[1];
return pointer;
}
int main() {
int arr[] = {5,6,7,8,9};
int *p = &arr[0];
p = move_p(p,arr); // p拷贝到move_p()中pointer
print("%d\n",*p); // 现在的p指向6
}
此方法与上不同
![](https://i-blog.csdnimg.cn/blog_migrate/295c9a1ce9a68a92ef96f612ed9b2c3e.png)
point 指向了p的位置,等于6的地址=&arr[1]的地址
方法二:
#方法二:二级指针
#include <stdio.h>
void increament(int *p) {
(*p)++;
}
int* void move_p(int **pointer, int arr[]) { // 这里加了*
*pointer = &arr[1]; // 这里加了*
//这里不需要return pointer;了
}
int main() {
int arr[] = {5,6,7,8,9};
int *p = &arr[0];
move_p(&p,arr); // 这里是&p是指针的地址, 不再是p = move_p(p,arr);
print("%d\n",*p);
}
9