黑马程序员技术交流社区

标题: 请教指针问题!! [打印本页]

作者: FlyTrem    时间: 2014-3-17 18:46
标题: 请教指针问题!!
本帖最后由 FlyTrem 于 2014-3-23 17:41 编辑

对于C语言中指针问题,真的很容易将人搞晕,这对于初学者更是明显,所以在写程序时自己总是可以去避免指针的使用,用其他的东西来代替。这样虽然不容易晕,但代码去复杂了好多,看起来很乱,不如使用指针时方便,以后编程总需要克服这些的,所以想请教一下,指针要怎么样才能把握好???

如下程序用指针怎么写??忘加以注释!!感谢!!!

#include<stdio.h>

//定义主函数
int main()
{
        //定义整形变量n和字符串a
        char a[100];
        
        int n=0;
        
        //打印“请输入一句英文:”作为提示
        printf("请输入一句英文:\n");
        
        //将输入的字符串赋值给字符串a[]
        gets(a);
        
        //循环语句,如果a[n]!=0则执行下面大括号内的语句
        while (a[n] != '\0')
        {
                //循环语句如果a[0] != ' ',则执行下面的语句
                if (a[0] != ' ')
                        
                        //将a[0]的值减去32后再赋给a[0],在C语言中字符时以ASCII值存在的。小写字母与大写字母差32.
                        a[0] = a[0] - 32;
               
                //循环语句如果a[n] == ' ',则执行下面的语句
                if (a[n] == ' ')
                        
                        //将a[n + 1]的值减去32后在赋给a[n + 1]
                        a[n + 1] = a[n + 1] - 32;
               
                //将n进行自加1
                n++;
        }
        //打印字符串a
        printf("%s\n",a);
        
        //结束函数
        return 0;

}
作者: 悟中生有    时间: 2014-3-17 19:06
本帖最后由 悟中生有 于 2014-3-17 19:13 编辑
  1. #include<stdio.h>
  2. //定义主函数
  3. int main()
  4. {
  5.     //定义char类型的数组
  6.     char a[100];
  7.     //定义char类型的指针
  8.     char *p;
  9.     //把数组的地址(数组名代表数组的地址)传给指针p
  10.     p = a;
  11.     //打印“请输入一句英文:”作为提示
  12.     printf("请输入一句英文:\n");
  13.     //接收输入的数据
  14.     scanf("%s",p);
  15.     //打印出输入的数据
  16.     printf("%s\n",p);
  17.     //结束函数
  18.     return 0;
  19. }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2