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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Django小虾米 中级黑马   /  2016-1-2 22:49  /  1436 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. #include<stdio.h>

  2. void question1(){
  3.     //注意少得很么时候用分号; 逗号, 等号= ,什么时候不写
  4.     //下面这些,你能保证一个也写不错嘛
  5.     char arr[3]={'a','b','c'};
  6.     char arr2[3][4] = {
  7.         {'a','b','c','d'},
  8.         {'a','b','c','d'},
  9.         {'a','b','c','d'},
  10.     };
  11.    
  12.     char str[]="apple";
  13.     char str2[3][10]={
  14.         "apple",
  15.         "apple",
  16.         "apple"
  17.     };
  18.    
  19.     struct Person{
  20.         char *name;
  21.         int age;
  22.         float height;
  23.     };
  24.     struct Person person = {
  25.         "jack",
  26.         18,
  27.         1.78
  28.     };
  29.    
  30.     struct Car{
  31.         char *name;
  32.         int wheel;
  33.         float speed;
  34.     }car = {"bike",2,34};
  35.    
  36.     enum Season{
  37.         kSpring,
  38.         kSummer,
  39.         kWinter
  40.     };
  41.     enum Season season = kSpring;
  42.    
  43.     enum Phone{
  44.         kApple,
  45.         kXioami,
  46.         kHuawei
  47.     }phone = kApple;
  48.    
  49.     typedef enum IphoneColor{
  50.         kWhite,
  51.         kBlack,
  52.         kRosepink,
  53.         kRichgold
  54.     }color;
  55.     color myphone = kBlack;
  56. }

  57. void question2(){
  58.    
  59.     //野指针
  60.     int a=1;
  61.     int *p;
  62.     *p=a;
  63.     printf("*p=%d",*p);
  64.    
  65.     printf("请输入一个整数给*野指针赋值:\n");
  66.     scanf("%d",p);
  67.    
  68.     printf("*p=%d",*p);
  69.     //使用野指针,编译器不会报错,本来就没有语法错误,但是有"逻辑"错误
  70. }

  71. void question3(){
  72.     //用指针定义的字符串
  73.     char *name = "jack";
  74.     name = "rose";
  75.     name = "Django";
  76.     *(name+1) = 'h';
  77.    
  78.     printf("%s",name);
  79.    
  80.     //你可以给指针换一串字符串(换个地址),但是不能让这个字符串常量改变
  81. }

  82. void question4(){
  83.     //批量赋值的问题
  84.    
  85.     //一.数组的批量赋值
  86.     char arr[4];
  87.     arr = {1,2,3,4};//错误,数组的批量赋值只能在定义的时候,这样写的话,数组名是个地址,不接收"值"
  88.    
  89.     //二.结构体的批量赋值
  90.     struct Person{
  91.         char *name;
  92.         int age;
  93.     }person;
  94.     person={"Django",23};//错误
  95.     person=(struct Person){"Django",23};//正确,需要一个强转
  96. }

  97. int main()
  98. {
  99.     return 0;
  100. }
复制代码

1 个回复

倒序浏览
海棠依旧2046 来自手机 中级黑马 2016-1-2 23:17:26
沙发
c语言9天就结束了,感觉有些快,不少东西没搞明白
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马