工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 2181|回复: 8

求助(有关C语言的)

[复制链接]
发表于 2006-3-26 18:13 | 显示全部楼层 |阅读模式
我们大一的今学期刚刚学C语言,有许多东西不明,想自己上机练习,无奈找不到相应的软件下载,请问有人知道一些下载地址吗?谢了~
发表于 2006-3-26 18:17 | 显示全部楼层
推荐用DEV-C++,百度一下就有
回复

使用道具 举报

 楼主| 发表于 2006-3-26 18:27 | 显示全部楼层
可惜我们现在不是学C++,能不能有些C的,谢谢谢谢......
回复

使用道具 举报

 楼主| 发表于 2006-3-26 19:26 | 显示全部楼层
希望下载到拉~~~~~~~
回复

使用道具 举报

发表于 2006-3-26 23:04 | 显示全部楼层
原帖由 Freedomer 于 2006-3-26 18:27 发表
可惜我们现在不是学C++,能不能有些C的,谢谢谢谢......

还是推荐用DEV-C++,它可以用来编C语言和C++。除了VC,它很适合用来学习C语言或C++
回复

使用道具 举报

发表于 2006-3-26 23:12 | 显示全部楼层
那就TC吧,
我们也是这样走过来的。
呵呵。。。
回复

使用道具 举报

 楼主| 发表于 2006-4-1 18:27 | 显示全部楼层

请教

我是刚学C语言的,有以下问题请教:
#include <stdio.h>
void main ()
{int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d\n",i,j,m,n);
}
为什么i,j的值不是8,10;而是9,11.
谢谢!
回复

使用道具 举报

发表于 2006-4-2 09:36 | 显示全部楼层
++运算符的使用方法楼上的没搞清楚
其表示自加1个单位, 如果是指针的话表示往下移一个单位(一般是用在数组的情况).

++有前缀和后缀的使用方式, 前缀时是先自加后取值, 后缀时是先取值后自加, 如楼上的程序.

m=++i;
上面句的执行可以看作
i=i+1;
m=i;
n=j++;
这句的执行可以看作
n=j;
j=j+1;

所以i,j不是8,10, 而是9,11.

下面讨论一下数组的情况
假设建了一个int数组
我们知道C语中数组名本身是一个指针,指向数组的首地址.假设我们要把数组中所有元素按下标输出.

  1. int a[10];
  2. int *p;
  3. p=a; /*定义一个指针p用于指向数组首地址*/
  4. for(i=0;i<10;i++) a[i]=i; /*初始化*/
  5. for(i=0;i<10;i++) printf("a[%d]=%d\n",i,a[i]); /*下标输出方式*/
  6. for(i=0;i<10;i++) /*指针输出方式*/
  7. {
  8. printf("a[%d]=%d\n",i,*p);
  9. p++; /*往下跳一个元素*/
  10. }
复制代码


实际上在C语言中数组下标调用最终会转换成用指针的形式
a[5]的实际处理是*(a+5);



[ 本帖最后由 从前有座山 于 2006-4-2 01:41 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2006-4-3 22:10 | 显示全部楼层
明了.谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2025-8-30 17:10

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表