动态内存分配,字符串长度,字符串比较,字符串复制
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
动态内存分配
#include
#include
int main(void)
{
int number;
int *a;
int i;
printf("输入数量:");
scanf("%d",&number);
// int a[NUMBER];
a = (int*)malloc(number*sizeof(int));
for(i=0;i { scanf("%d",&a[i]); } for (i=number-1;i>=0;i--) { printf("%d",a[i]); } free(a); return 0; } #include int main(int argc ,char const *argv[]) { int i; for ( i=0;i { printf("%d:%s\n",i,argv[i]); } return 0; } 字符串长度 {{strlen(s1)}} #include #include int mylen (const char* s) { int idx = 0; while (s[idx]!='\0') { idx++; } return idx; } int main(int argc , char const *argv[]) { char line[] = "hello"; printf("strlen=%lu\n",mylen(line)); printf("sizeof=%lu\n",sizeof(line)); return 0; } 字符串比较 {{strcmp(s1,s2)}} #include #include int mycmp(const char* s1,const char *s2) { while (*s1==*s2&&*s1!='\0') { s1++; s2++; } return *s1-*s2; } int main(int argc ,char const *argv[]) { char s1[]="abc"; char s2[]="abc"; printf("%d\n",mycmp(s1,s2)); printf("%d\n",'a'-'A'); return 0; } 字符串复制 char *strcpy(char *restrict dst ,const char *restrictsrc); char* strstr(const char *s1, const char *s2); char *strcasestr(const char *s1,constchar *s2); #include #include #include int main( int argc ,char const *argv[]) { char s[]="hello"; //scanf("%s",s); char *p=strchr(s,'l'); char c=*p; *p='\0'; char *t =(char*)malloc(strlen(s)+1); strcpy(t,s); printf("%s\n",t); free(t); return 0; }