一、写一个函数找一个字符串中出现频率最高的字符(若最高的相同,取先出现的)
char finchar(const char *str) { if (!str||!*str) { return -1; } char ch = str[0]; int maxn = 1, n = 1; for(int i = 0; str[i]!=0; i++) { for (int j = 0; j<i; j++) { if(str[j] == str[i]) n++; } if(n > maxn) {ch = str[i]; maxn = n;} n=1; } return ch; } void main() { char * p="11111111111111111" ; char a = finchar(p); }
写出e的值
int func(int i) { return i<10?i:func(i/10)+i%10; } void main() { //int e=(-1)&12345; //12345 -1的二进制全是 1 //int e=0x4321>>4<<4; //17185 //char*mystr="123";int e=sizeof(mystr); //指针的长度4 //char mystr[]="1235555";int e=sizeof(mystr); //8 //int*a[6][3]; int e=a[5]-a[2]; //9 //int a=1,b=2;int*p1=&a,*p2=&b;p1=p2;int e=a;//1 //int e = sizeof(char); //1 //int e =sizeof (int ); //4 //int e=func(123456);//21 }
2、 假定AB为一个类,则执行”AB a(4) , b[3] , * p[2] ;”语句时,自动调用该类构造函数的次数为 4 。
3、这段代码编译通过运行出错。
#include<stdio.h> #include<stdlib.h> #include<string.h> int main(void) { char*s1="123456789"; char*s2="123456"; strncpy(s1,s2,6); printf("%s %s ",s1,s2); return0; }