Chinaunix首页 | 论坛 | 博客
  • 博客访问: 410409
  • 博文数量: 73
  • 博客积分: 3326
  • 博客等级: 中校
  • 技术积分: 631
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-05 15:31
文章分类

全部博文(73)

文章存档

2014年(1)

2011年(51)

2010年(21)

分类: C/C++

2011-03-13 15:42:49

#include <stdio.h>
#include <stddef.h>
int main()
{
    /*
    unsigned int u;
     int k = -1;
    if(u>k){
        printf(">-1\n");
    }
    else if(u == k)
    {
        printf("=-1\n");
    }
    else{
        printf("<-1\n");
    }
    */

/*
    unsigned char uc = -1;
    signed char sc = -1;
    char c = -1;
    int i =uc,j = sc,k = c;
    printf("%d,%d,%d\n",i,j,k);*/

/*
    
    void *generic_ptr;
    int *int_ptr;
    char *char_ptr;
    generic_ptr = int_ptr;
    int_ptr = generic_ptr;
    int_ptr = char_ptr;*/

  
    int *p = NULL ;
    int a = 10;
    p = &a;    
    printf("%d,%x,%d\n",p,p,*p);
    p++;
    printf("%d\n",p,*p);
    printf("%d,%d\n",(a+1,a),a);
//这里执行顺序是怎样的
    
    int arr[]={6,7,8,9,10};
    int *ptr=arr;
    printf( "%d,%d,%d ",*ptr,*(++ptr),*(ptr--));//同上,从论坛中看到的例子
    return 0;
}

这些我都作了实验,实际中最后的printf执行顺序问题的确跟具体的编译器有关,有的是从左向右,有的是从右向左;
阅读(479) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~