设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
Linux 程序设计专题讨论
›
结果怎么不一样了??
1
2
3
4
/ 4 页
下一页
返回列表
楼主:
Snoopy
结果怎么不一样了??
[复制链接]
无双
无双
当前离线
积分
1799
IP卡
狗仔卡
发表于 2003-6-11 13:17:58
|
显示全部楼层
main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
printf ("%d",a);
}
这只是打印数组首地址
而不是打印a[0]值
回复
支持
反对
使用道具
举报
显身卡
colored
colored
当前离线
积分
158
IP卡
狗仔卡
发表于 2003-6-11 18:37:39
|
显示全部楼层
看来楼主有些概念不太清楚
代码改成这样
main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
int *b=a;
printf ("%d",a);
printf("%d",b);
}
两个printf应该是相同的输出。
a 和b 都是地址
回复
支持
反对
使用道具
举报
显身卡
Snoopy
Snoopy
当前离线
积分
7263
IP卡
狗仔卡
楼主
|
发表于 2003-6-11 21:53:37
|
显示全部楼层
不是有些概念不清楚,是很多都不清楚啊,,,
而我不是不规矩,而是我看文章时,它里面这样,我就会想到那样可以吗?
我刚学嘛,,所以问题多了点,嘻嘻,,,
谢谢,,,,!!!
回复
支持
反对
使用道具
举报
显身卡
Snoopy
Snoopy
当前离线
积分
7263
IP卡
狗仔卡
楼主
|
发表于 2003-6-12 09:09:48
|
显示全部楼层
main()
{
int a[11];
int i,j,t;
printf("input 10 numbers: \n");
for (i=1;i<11;i++)
scanf("%d",&a
);
printf("\n");
for(j=1;j<=9;j++)
for(i=1;i<=10-j;i++)
if(a
>a[i+1])
{t=a
;a
=a[i+1];a[i+1]=t;}
printf("the sorted numbers :\n");
for(i=1;i<11;i++)
printf("%d",a
);
}
[root@Snoopy hello]# ./hello
input 10 numbers:
111 222 333 444 555 666 777 888 999 000
the sorted numbers :
0111222333444555666777888999
三个0怎么变到前面只有一个0呢????
回复
支持
反对
使用道具
举报
显身卡
windrose
windrose
当前离线
积分
6300
IP卡
狗仔卡
发表于 2003-6-12 09:20:54
|
显示全部楼层
数组a是整数数组,不是字符串数组,所以000当然就只是0了。还记得小学数学吗?以0开头的数字,这些0都是可以忽略的。
回复
支持
反对
使用道具
举报
显身卡
Snoopy
Snoopy
当前离线
积分
7263
IP卡
狗仔卡
楼主
|
发表于 2003-6-12 09:43:23
|
显示全部楼层
那它怎么要排到前面,程序里又没有指明要排到前面???
难道它从小排起????
回复
支持
反对
使用道具
举报
显身卡
windrose
windrose
当前离线
积分
6300
IP卡
狗仔卡
发表于 2003-6-12 09:53:00
|
显示全部楼层
最初由 pinksnoopy 发表
那它怎么要排到前面,程序里又没有指明要排到前面???
难道它从小排起????
对呀,后面的两个for循环就是排序嘛。兄弟看书能不能认真一点?
回复
支持
反对
使用道具
举报
显身卡
libinary
libinary
当前离线
积分
1502
IP卡
狗仔卡
发表于 2003-6-12 10:07:43
|
显示全部楼层
贴代码注意缩进,看看论坛的vB码说明
#include <stdio.h>
#define SIZE 10
#define TRUE 1
#define FALSE 0
int
main(void) /* main应该有返回值int */
{
int a[SIZE];
int i, j, t, f; /* f是控制变量,标准的冒泡排序法要的 */
printf("input %d numbers: \n", SIZE);
for (i = 0; i < SIZE; i++) /* 数组下标从0开始 */
scanf("%d", &a[i]);
/* printf("\n"); 这句不需要,因为在输入的时候有换行了 */
for(j = SIZE - 1; j > 0; j--){ /* 冒泡排序 */
f = FALSE;
for(i = 0; i < j; i++){
if(a[i] > a[i + 1]){
t = a[i];
a[i] = a[i + 1];
a[i + 1] = t;
f = TRUE; /* 这趟比较有交换 */
}
}
if(f == FALSE) /* 如果一趟比较后没有交换说明已经排序好了 */
break;
}
printf("the sorted numbers :\n");
for(i = 0; i < SIZE; i++)
printf("%d, ", a[i]); /* 输出格式也要注意,好看一点 */
printf("\n");
exit(0);
}
复制代码
回复
支持
反对
使用道具
举报
显身卡
viper
viper
当前离线
积分
443
IP卡
狗仔卡
发表于 2003-6-12 10:10:30
|
显示全部楼层
TO: pinksnoopy
I 服了 U。。。。
回复
支持
反对
使用道具
举报
显身卡
0100
0100
当前离线
积分
478
IP卡
狗仔卡
发表于 2003-6-12 16:45:05
|
显示全部楼层
连viper都受不了啦!
兄弟。你比我还要可爱啊。
三个0又不是字符。而是整型数。你都还要问??
连那个程序都不知道是冒泡排序。你是故意的吧?
回复
支持
反对
使用道具
举报
显身卡
下一页 »
1
2
3
4
/ 4 页
下一页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
服务器架设、应用、维护
Redhat/Fedora/CentOS Linux
Ubuntu Linux 专题讨论
Linux 基础讨论区(新手速成)
shell进阶应用、shell编程
硬件设备 Linux 驱动
Archlinux讨论区
Mandriva Linux
Gentoo Linux
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表