1、终端输入一个数,递归输出他的每一位,例:123 输出 123 ,void为返回值。
2、*p++和++*p的区别
*p++:p先和++结合,再取*,p向后指了另一个空间。
++*p:p先和*结合,再++,取*p,然后对p*执行的++操作。
3、有以下定义,说明哪些量可以改变哪些不可以改变?
const char *p; const修饰*p
const (char *) p; const 修饰*p
char *const p; const 修饰p,指针的指向不能修改
const char* const p; *p和p的指向都不能修改
char const *p; 指向可以改变,内容不能改变
(char *) const p; 指向不能改变,内容可以改变
char const* const p; 指向不能改变,内容可以改变
4、终端输入字符串,使用指针完成逆置并去空格操作。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void subkg(char *p)
{
int i=0,j=0;
while(*(p+i))
{
if(*(p+i)!=' ')
{
*(p+j)=*(p+i);
j++;
}
i++;
}
*(p+j)=*(p+i);
// return p;
}
void nizhi(char *p1)
{
char temp;
int k;
int len=strlen(p1);
for(k=0; k<len/2; k++)
{
temp=*(p1+k);
*(p1+k)=*(p1+len-1-k);
*(p1+len-1-k)=temp;
}
// return p1;
}
int main(int argc, const char *argv[])
{
char str[30];
gets(str);
subkg(str);
puts(str);
nizhi(str);
puts(str);
return 0;
}
5、整理思维导图