| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 583 人关注过本帖
标题:今天回答人问题的时候发现个有意思的问题 可执行代码中随时定义变量问题。 ...
取消只看楼主 加入收藏
C_596322153
Rank: 6Rank: 6
来 自:徽州
等 级:侠之大者
帖 子:182
专家分:466
注 册:2012-1-10
结帖率:100%
收藏
 问题点数:0 回复次数:1 
今天回答人问题的时候发现个有意思的问题 可执行代码中随时定义变量问题。。一起分享研究下
程序代码:
#include<stdio.h>
void main()
{  
    int n,m,temp; //注意变量定义位置
    int a,b,k,u,y,*i[5];
    printf("请输入5个数字:");
    scanf("%d,%d,%d,%d,%d",&a,&b,&k,&u,&y);
    i[0]=&a;
    i[1]=&b;
    i[2]=&k;
    i[3]=&u;
    i[4]=&y;
    for(n=0;n<4;n++)
      for(m=n+1;m<5;m++)
        if(*i[n]<*i[m])
      {temp=*i[n];*i[n]=*i[m];*i[m]=temp;}
    printf("%d,%d,%d,%d,%d",a,b,k,u,y);    
}
这样编译C和C++都能通过
程序代码:
#include<stdio.h>
void main()
{  
   
    int a,b,k,u,y,*i[5];
    printf("请输入5个数字:");
    scanf("%d,%d,%d,%d,%d",&a,&b,&k,&u,&y);
    i[0]=&a;
    i[1]=&b;
    i[2]=&k;
    i[3]=&u;
    i[4]=&y;
    int n,m,temp; //注意变量定义位置
    for(n=0;n<4;n++)
      for(m=n+1;m<5;m++)
        if(*i[n]<*i[m])
      {temp=*i[n];*i[n]=*i[m];*i[m]=temp;}
    printf("%d,%d,%d,%d,%d",a,b,k,u,y);    
}

C++也就是.cpp可以通过  .c就会报错  

来自于百度的一句话:在 ANSI C或者C++中,在可执行代码中随时定义变量是允许的,但是在K&R C中是不允许的,VS2008实现的C竟然是K&R C。注意这样的错误也体现在VS中要是用for (int i = 0; i++; i<10)同时你的文件名是.c的也会出现这样的错误
搜索更多相关主题的帖子: color 
2012-03-16 13:36
C_596322153
Rank: 6Rank: 6
来 自:徽州
等 级:侠之大者
帖 子:182
专家分:466
注 册:2012-1-10
收藏
得分:0 
呵呵 版主啥叫门户观念啊  
2012-03-16 20:16
快速回复:今天回答人问题的时候发现个有意思的问题 可执行代码中随时定义变量问 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017368 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved