标题:为什么在C++里会出错?
只看楼主
可可哪里
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-5-18
 问题点数:0 回复次数:5 
为什么在C++里会出错?

#include<stdio.h>
#include<string.h>


void main()
{
char * temp;
char * tokenPtr;
char string[]="this is a sentence which 7 tokens";

tokenPtr=strtok(string," ");
temp=tokenPtr;

while(tokenPtr!=NULL)
{
tokenPtr=strtok(NULL," ");

if(strlen(temp)<strlen(tokenPtr)&&tokenPtr!=NULL)
temp=tokenPtr;

}
printf("the longest word is:%s\n",temp);
}


搜索更多相关主题的帖子: include 
2006-05-18 23:11
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
得分:0 
#include<string.h>


这个东西在C++中是用来声明STRING类型对象的,估计就它问题

你用#include <cstring>试试

[此贴子已经被作者于2006-5-19 0:24:19编辑过]


日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-19 00:23
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
得分:0 
运行了一下没出错呀?在VC下运行要记得加

#include "stdafx.h"


http://myajax95./
2006-05-19 03:38
haiduc
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2005-11-30
得分:0 
以下是引用可可哪里在2006-5-18 23:11:00的发言:

#include<stdio.h>
#include<string.h>


void main()
{
char * temp;
char * tokenPtr;
char string[]="this is a sentence which 7 tokens";

tokenPtr=strtok(string," ");
temp=tokenPtr;

while(tokenPtr!=NULL)
{
tokenPtr=strtok(NULL," ");

if(strlen(temp)<strlen(tokenPtr)&&tokenPtr!=NULL)//最后一次执行while的时候,tokenPtr等于NULL,这里
temp=tokenPtr; //就是非法操作了

}
printf("the longest word is:%s\n",temp);
}



2006-05-19 09:32
friendboy
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-5-19
得分:0 

看来是要好好学呀.
不会的太多啦!!

2006-05-19 10:53
可可哪里
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-5-18
得分:0 
哦,明白
谢谢了
2006-05-19 14:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-65405-1-1.html




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

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