c程序设计习题总结
strcpy函数的使用
例如strcpy(a,b)笔者一直以为a完全就是b了,没想到这与a和b的长度有关
#include<stdio.h>
#include<string.h>
int main(){
char str[5]="aaa";
char str1[3]="b";
//str1[6]="b";结果也一样
strcpy(str,str1);
printf("%d",(int)strlen(str));
for(int i=0;i<(int)strlen(str);i++)
printf("%c\n",str[i]);
printf(" str[2]=%c str[3]=%c",str[2],str[3]);
}

- 也就是说只把str1的字符串和末尾第一个空字符复制过去了
gets函数
#include<stdio.h>
#include<string.h>
int main(){
char a[10]="12345";
gets(a);
//strcat(a,"6789");
gets(a);
printf("%s",a);
//gets函数竟然把原来的内容删了?!
}
#include<stdio.h>
#include<string.h>
void f(char str[]){
printf("%s\n",str);
}
int main(){
f("hello world");
//字符串常量被调用时就是一个地址?!
char a[10]={"gg gg"};
//scanf("%s",a);
//scanf("%s")不能读入空格,printf("%s")却可以打印空格
printf("%s",a);
}
strlen和sizeof函数的区别
int main(){
char a[5]={"aa"};
printf("%d %d",sizeof(a),strlen(a));
}
8741

被折叠的 条评论
为什么被折叠?



