首先你要注意书写的规范,必须是英文状态下的标点。。
1.prohsbn
解释:对于a[3]的元素是开始字母自动加1,所以g->h r->s a->b m->n
2.将一个数换算成二进制,譬如5=101
3.a是输出的小写:abcdefg
b是输出的大写:ADGH
第一个输出为:
Prohsbn
你的程序要运行还的修改,修改后的是:(注意中英文符号)
#include"stdio.h"
void fun1(char *p)
{
char *q;
q=p;
while(*q!='\0')
{ (*q)++; q++; }
}
main()
{ char a[]={"Program"},*p;
p=&a[3]; fun1(p); printf("%s\n",a);
}
第二个输出为:
1010
正确程序为:
#include"stdio.h"
main()
{ int a,e[10],c,i=0;
printf("输入一整数\n");
scanf("%d",&a);
while(a!=0)
{c=sub(a);
a=a/2;
e[i]=c;
i++;
}
for(;i>0;i--)
printf("%d",e[i-1]);
}
sub(int a)
{ int c;
c=a%2;
return c;
}
第三个输出结果为:
abcdefg
ADGH
修改后程序为:
#include
main()
{ char a[80],b[80],*p="aAbcdDefgGH";
int i=0,j=0;
while(*p!='\0')
{ if(*p>='a'&&*p<='z') {a[i]=*p;i++;}
else{b[j]=*p;j++;}
p++;
}
a[i]=b[j]='\0';
puts(a);puts(b);
}
这个怎么这么像面试题啊
建议将代码复制到编译环境中运行,就可以看到结果了。
1. Prohsbn
2. 1010
3. abcdefg
ADGH
第一个:Prphspn
第二个:10
第三个:abcdefg
ADGH