随笔分类 - c/c++
摘要:1、如果小于0,修改为150, 大于100,修改为100 #include <stdio.h> void adjust(int *x) { if(*x < 0) *x = 150; //变量的值作为了下一个判断条件,如何避免? if(*x > 100) *x = 100; } int main(vo
阅读全文
摘要:在c语言程序中,指针的一个重要作用就是作为函数的参数。 001:指针作为参数可以解决对传入到函数中的变量进行修改的目的。 如果要在函数中修改变量的值,就需要传入该变量的指针,然后再函数体中使用指针运算符,这样就获取了原始对象的别名,在函数体中对别名进行修改,就相当于对原始对象进行修改。 间接访问运算
阅读全文
摘要:1、c语言中函数的参数 01、c语言中实参向形参的传递过程是单向传递的,在对形参进行修改后的值不能返回给实参。 02、函数返回调用源的返回值只能有一个。 例、求两个数的和与差。 #include <stdio.h> void sum_diff(int x, int y, int sum, int d
阅读全文
摘要:1、 #include <stdio.h> void ary_set(int v[], int n, int val) { int i; for(i = 0; i < n; i++) { v[i] = val; } } int main(void) { int i; int a[5] = {1,2,
阅读全文
摘要:函数间数组的传递,是以指向第一个元素的指针的形式进行的。 在被调用的函数中作为指针接收的数组, 实际上就是调用方传递的数组。 Type*型指针p指向Type型数组a的起始元素a[0]时, 指针p的行为就和数组a本身一样。 值: a[i] = *(a + i) = *(p + i) = p[i]; 指
阅读全文
摘要:c语言中指针运算符和下标运算符。 1、对于数组中任一元素 a[i], 一般由三个别名: *(a + i)、*(p + i)、p[i]。 其中p为指向数组第一个元素的指针(p + i 等价于 &a[i])。 对应的指针分别为: &a[i]、 a + i、p + i、&p[i]. 利用程序证明: a[i
阅读全文
摘要:c语言中数组的名称原则上为数组的第一个元素的指针。(当sizeof和&应用数数组名除外)。 当p为第一个元素的指针时, p + i 为第一个元素后的第i个元素的指针,则 p + i等价于 &a[i]. 程序如下: #include <stdio.h> int main(void) { int i;
阅读全文
摘要:1、 #include <stdio.h> void swap2(int *x, int *y) { int tmp; tmp = *x; *x = *y; *y = tmp; } void sort2(int *n1, int *n2, int *n3) { if(*n1 > *n2) //将前两
阅读全文
摘要:c语言中两个值的排序,指针在函数间的传递。 1、 #include <stdio.h> void sap(int *x, int *y) { int tmp; tmp = *x; *x = *y; *y = tmp; } void sort2(int *n1, int *n2) // n1和n2为指
阅读全文
摘要:1、last day (错误程序) #include <stdio.h> void lastday(int *y, int *m, int *d) { if(*d > 1) { *d -= 1; } if(*d == 1 && *m == 2 || *m == 4 || *m == 6 || *m
阅读全文
摘要:1、 #include <stdio.h> void adjust(int *x) //声明指向int型的指针变量x { if(*x < 0) *x = 0; if(*x > 100) *x = 100; } int main(void) { int a, b, c; puts("please in
阅读全文
摘要:c语言中实现两个值互换的函数。 1、 #include <stdio.h> void swap(int n1, int n2) { int tmp; tmp = n1; n1 = n2; n2 = tmp; } int main(void) { int a, b; puts("please inpu
阅读全文
摘要:c语言中作为函数参数的指针。 1、 #include <stdio.h> void fun(int *x) //声明指向int型的指针变量 { if(*x < 200) { *x = 5000; } } int main(void) { int a = 100; int b = 140; int c
阅读全文
摘要:c语言中利用函数同时返回两个数的和与差。 1、 #include <stdio.h> void sum_diff(int n1, int n2, int sum, int diff) { sum = n1 + n2; diff = (n1 > n2) ? (n1 - n2) : (n2 - n1);
阅读全文
摘要:1、单目运算符&为取址运算符,其作用是获取对象的地址,生成指向对象的指针,与其说是获取地址,不如说是生成指针。对象地址的转换说明为%p,其中的p为pointer的首字母。 #include <stdio.h> int main(void) { int n; double x; int a[3]; p
阅读全文
摘要:c语言中指针作为参数的函数同时计算两个数的和与差。 1、 #include <stdio.h> void sum_dif(int n1, int n2, int *sum, int *dif) { *sum = n1 + n2; *dif = (n1 > n2) ? (n1 - n2) : (n2
阅读全文
摘要:c语言中将指针作为函数的参数。 1、 #include <stdio.h> void fun(int *x) { if(*x < 170) // 指向特定对象的指针,在使用指针运算符的时候就是该对象的别名,对别名进行重新赋值,可以传递给main函数。 { *x = 1000; } } int mai
阅读全文
摘要:c语言中指针 1、 #include <stdio.h> int main(void) { int a = 100; int b = 200; int c = 300; int *x, *y; x = &a; y = &c; printf("xxxx: %d\n", *x); printf("yyy
阅读全文
摘要:1、 #include <stdio.h> void rev(char x[][128], int n) { int i; for(i = 0; i < n; i++) { int len = 0; while(x[i][len]) len++; int j = 0; while(x[i][j])
阅读全文
摘要:1、 #include <stdio.h> #define NUMBER 5 #define STR 128 void show(char x[][STR], int n) { int i; for(i = 0; i < n; i++) { if(strcmp(x[i], "$$$$$") == 0
阅读全文

浙公网安备 33010602011771号