社区
C语言
帖子详情
如何判断是否到了字符串的结尾
voice007
2007-08-17 04:18:16
#include <stdio.h>
int main(int argc, char *argv[])
{
char *str="abcdef";
while(str != NULL)
{
printf("a\n");
str++;
}
return 0;
}
结果是无限循环啊。具体怎么判断呢?程序在unix下编译的。
...全文
1437
10
打赏
收藏
如何判断是否到了字符串的结尾
#include int main(int argc, char *argv[]) { char *str="abcdef"; while(str != NULL) { printf("a\n"); str++; } return 0; } 结果是无限循环啊。具体怎么判断呢?程序在unix下编译的。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cceczjxy
2007-08-18
打赏
举报
回复
NULL 的定义 (void*)0;
实际上在很多系统内是0,可以当成0来用,
str!=NULL只是判断指针是不是空,字符串结束的标志是最后一个字符为'\0',如过指针只向这个字符,只是
这个指针指向的值为0,但指针不为0
可以这样判断.
*str!=NULL
不过最好
*str!='\0'
liqiang123abc
2007-08-18
打赏
举报
回复
NULL 和 '\0' 是完全不同的2种定义
arronbnm
2007-08-17
打赏
举报
回复
str是指针,它的值是地址,char * str = "asdfsdafsd";
但是str != 'a', 而是0x1010010(举例)
xiaoyuanwang
2007-08-17
打赏
举报
回复
都被人说光了,我没事干了,顶一顶好了
孚若
2007-08-17
打赏
举报
回复
#include <stdio.h>
int main(int argc, char *argv[])
{
char *str="abcdef";
while(*str != NULL)
{
printf("%c\n",*str);
str++;
}
return 0;
}
gfxiang
2007-08-17
打赏
举报
回复
str是字符指针,str肯定不为0啦,要判断str是不是指向字符串结束符,要递引用*str
liufei1108
2007-08-17
打赏
举报
回复
恩,应该while(*str != '\0'),字符串都是以'\0'结束的,但调用strlen()时,'\0'是不计算的!
yangqi227
2007-08-17
打赏
举报
回复
字符串都是以结尾'\0'
楼上正解
SpaceC
2007-08-17
打赏
举报
回复
while(str != NULL)
==>
while (*str != '\0')
字符串结尾都有一个‘\0’字符,所以判断当前字符是否为'\0' 来判断字符串结束,当前字符
用 *str 取得
softwarewander
2007-08-17
打赏
举报
回复
〉〉while(str != NULL)
应该是while(str != ‘\0’)
【排序算法】——选择排序
排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的算法可以节省大量的资源。
图解选择排序算法及优化
3分钟学会选择排序算法及其优化
排序算法:选择排序算法
在本文中,我们深入研究选择排序的机制,解释其对各种类型列表进行排序的过程和有效性。这是因为我们使用了固定数量的变量,除了循环变量和辅助变量(包括 temp、size 和 minIndex)之外,我们不需要任何额外的内存空间。我们重复上述步骤,直到得到一个已排序的列表,并且未排序的子列表中不再有任何元素。每次迭代后,已排序子列表的大小都会增加,而未排序子列表的大小会减少。在第 1 部分中,交换发生的次数将等于 n,并且每次交换将花费常数时间。最初,已排序的子列表是空的,我们只有未排序的子列表。
排序算法——选择排序
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对nn个元素的表进行排序总共进行至多n−1n−1次交换。
C++常见排序算法——选择排序算法
首先说一下选择排序的基本算法思想: 如果有N个元素需要排序,那么首先从N个元素中找到最小的那个元素与第0位置上的元素交换,然后再从剩下的N-1个元素中找到最小的元素与第1位置上的元素交换,之后再从剩下的N-2个元素中找到最小的元素与第2位置上的元素交换,.......直到所有元素都排序好。 以从小到大排序为例:a[5]={3,5,4,1,0}; 选择出5个元素中最小的0,与a[0],也就是3进行交换,交换后的序列变为{0,5,4,1,3}; 选择出后面4个元素中最小的1,与a[1],也就是5进行交换
C语言
70,040
社区成员
243,237
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章