下面为C语言的一些入门级编程题目,大家多练练,不懂可以和小编交流,公众号:你不知道的东东
malloc给a,b,c指针赋予了相同的地址
#include "stdio.h" #include "stdlib.h" int main(){ int *a,*b,*c; a=b=c=(int *) malloc(sizeof(int)); *a=1;*b=2;*c=3; a=b; printf("%d,%d,%d\n",*a,*b,*c); }
注意if碰到;代表结束了
#include "stdio.h" int main(){ int x=10,y=11,z=12; if(y<z) x=y; y=z; z=x; printf("x=%d,y=%d,z=%d\n",x,y,z); }
注意%d输出还是%c输出
#include "stdio.h" int main() { char ch='1'; while(ch<'9'){ printf("%d",ch-'0'); ch++; } } 答案:12345678 #include "stdio.h" int main() { char ch='a'; while(ch<'d'){ printf("%c",ch+1); ch++; } } 答案:bcd
类似递归
#include "stdio.h" int fun(int x,int y) { if(x!=y) return ((x+y)/2); else return (x); } int main(){ int a=4,b=5,c=6; printf("%d\n",fun(2*a,fun(b,c))); }
注意static 在函数里面,定义的变量只会被赋值一次;
i++,先赋值再自加
#include "stdio.h" int f(int n); int main(){ int a=3,s; s=f(a); s=s+f(a); printf("%d\n",s); } int f(int n){ static int a=1; n+=a++; return n; }
字符串指针 char *a;注意用a++;来实现指向字母的移动
#include "stdio.h" #include "string.h" int fun(char* a,char* b){ int bk=0; while((*a!='\0')&&(*b!='\0')&& strlen(a)== strlen(b)){ if(*b!=*a){ bk=0; break; } a++; b++; bk=1; } return bk; } int main(){ char *a="abc"; char *b="123"; printf("%d",fun(a,b)); }