A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© FlyTrem 中级黑马   /  2014-3-17 18:46  /  1313 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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;

}

1 个回复

倒序浏览
本帖最后由 悟中生有 于 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. }
复制代码


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马