函数(1)
#include <stdio.h> //几乎每次都需要的头文件
#include <stdlib.h>//几乎每次都需要的头文件
#include<string.h>//视情况而加的头文件
例1.
int main()
{
char arr1[]="bkppkisskiss";//最后会有一个\0
char arr2[20]="lvelvelve";
strcpy(arr2,arr1); C语言自带函数strcpy:将arr1内容复制给arr2
printf("%s\n",arr2);
return 0;
}
例2.
int main()
{
char arr[]="bkppkisskiss";
memset(arr,'#',4); //C语言自带函数memset:为内存设置,中间参数存的实际为它的ASCALL码值
printf("%s",arr);
return 0;
}
MSDN也可以对函数进行查找学习
http:en.cppreference.com 学习网站
例3.
void Swap(int* pa,int*pb)
{
int tmp=0;
tmp=*pa;
*pa=*pb;
*pb=tmp;
}
int main()
{
int a=10;
int b=20;
Swap(&a,&b);
printf("a=%d,b=%d",a,b);
return 0;
}
1 利用函数判断素数
int is_prime(int n)
{
int j=0;
for(j=2;j<=sqrt(n);j++)
{
if(n%j==0)
return 0; // return 0 一执行整个函数结束,比break强
}
if(j>sqrt(n))
{
return 1;
}
}
int main()
{
int i=0;
for(i=100;i<=200;i++)
{
if(is_prime(i)==1)
{
printf("%d ",i);
}
}
return 0;
}
2函数写二分查找
int binary_search(int arr[],int k,int sz) //数组传过去仅仅是首元素的地址
{ //将sz放主函数里求
int left=0;
int right=sz-1;
while(left<=right)
{
int mid = (left+right)/2;
if(arr[mid]<k)
{
left=mid+1;
}
else if (arr[mid]>k)
{
right =mid-1;
}
else
{
return mid;
}
}
return -1;
}
int main()
{
int arr[]={1,2,3,4,5,6,7,8,9,10};
int k=7;
int sz=sizeof(arr)/sizeof(arr[0]);
int ret=binary_search(arr,k,sz);
if(ret==-1)
{
printf("找不到\n");
}
else{
printf("找到了,下标是:%d\n",ret);
}
return 0;
}
3 Add函数——调用一次,数字加一
void Add(int* p)
{
(*p)++;
}
int main()
{
int num=0;
Add(&num);
printf("num=%d\n",num);
Add(&num);
printf("num=%d\n",num);
return 0;
}
printf() 函数的返回值是打印的字符的个数