1>
要求:
源代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define Trans(x,y) do{int t=x;x=y;y=t;printf("a=%d b=%d\n",x,y);}while(0)
int main (int argc,const char *argv[])
{
int a,b;
printf("enter a&b:\n");
scanf("%d %d",&a,&b);
printf("交换后为\n");
Trans(a,b);
return 0;
}C
效果图:
2>
要求:
源代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char *create(int n);
char *input(char *p);
int Strlen(char *p);
void output(int n,char *p);
char *free_space(char *p);
int main(int argc,char *argv[])
{
int n;
printf("please enter n: ");
scanf("%d",&n);
char *p=create(n);
char *q=input(p);
int len=Strlen(q);
output(len,q);
q=free_space(q);
return 0;
}
char* create(int n)
{
char *p=(char*)malloc(sizeof(char)*n);
return p;
}
char * input(char *p)
{
printf("请输入字符串:\n");
scanf("%s",p);
return p;
}
int Strlen(char *q)
{
int i=0;
if(*(q)!='\0')
{
while(*(q+i)!='\0')
{
i++;
}
return i;
}
else return 0;
}
void output(int len,char *q)
{
printf("%s的长度为%d\n",q,len);
}
char *free_space(char *q)
{
if(NULL==q)
{
return NULL;
}
free(q);
q=NULL;
return q;
}
效果图:
3>思维导图