| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1654 人关注过本帖
标题:itoa函数问题!
只看楼主 加入收藏
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
 问题点数:0 回复次数:9 
itoa函数问题!

itoa()函数返回指向字符型的指针,下面怎么不行

#include <stdio.h>
#include <conio.h>
#define N 10

int main(void)
{
int i = 1994, j;
char str[N] = {'\0'}, strb[N] = {'\0'};

strb[10] = itoa(i, str, 10);

printf("%s\n", strb);

getch();
return 0;
}

以上为什么不行

搜索更多相关主题的帖子: itoa 函数 int include void 
2006-05-07 14:09
herotobe
Rank: 1
等 级:新手上路
威 望:1
帖 子:48
专家分:0
注 册:2006-5-3
收藏
得分:0 

itoa属于stdlib.h


After all,tomorrow is another day!!!!
2006-05-07 15:27
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
楼上的你说点具体的,要是在TC中你一个头文件不加都可以

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-07 15:29
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
以下是引用论坛在2006-5-7 14:09:00的发言:

itoa()函数返回指向字符型的指针,下面怎么不行

#include <stdio.h>
#include <conio.h>
#define N 10

int main(void)
{
int i = 1994, j;
char str[N] = {'\0'}, strb[N] = {'\0'};

strb[10] = itoa(i, str, 10);  /*函数用错,应该只为 itoa(i, str, 10);不能把返回值赋给strb[10],这明显已经越界*/

printf("%s\n", strb); /*这个字符串仍然是空的,打印当然也为空*/

getch();
return 0;
}

以上为什么不行


对不礼貌的女生收钱......
2006-05-07 15:31
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 

函数是返回指向字符串首地址的指针,即便你把strb[10]改成strb也是出错的,
因为,strb已指向一定的数组空间,会造成混乱.


对不礼貌的女生收钱......
2006-05-07 15:34
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
strb[10] = itoa(i, str, 10);


你改成strb = itoa(i, str, 10);它也不行

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-07 15:35
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 

#include <stdio.h>
#include <conio.h>
#define N 10

int main(void)
{
int i = 1994, j;
char str[N] = {'\0'}, *strb;

strb = itoa(i, str, 10);

printf("%s\n", strb);

getch();
return 0;
}
这样就可以


对不礼貌的女生收钱......
2006-05-07 15:35
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
是滴

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-07 15:37
herotobe
Rank: 1
等 级:新手上路
威 望:1
帖 子:48
专家分:0
注 册:2006-5-3
收藏
得分:0 

#include <stdio.h> /* 此处应为#include <stdlio.h> */
#include <conio.h>
#define N 10

int main(void)
{
int i = 1994, j;
char str[N] = {'\0'}, strb[N] = {'\0'};

strb[10] = itoa(i, str, 10); /* strb[10]不是指针变量 ,怎能接收itoa返回的地址? */

printf("%s\n", strb);

getch();
return 0;
}



#include <stdlib.h>
#include <conio.h>
#define N 10

int main(void)
{
int i = 1994, j;
char str[N] = {'\0'}, *p;

p = itoa(i, str, 10);

printf("%s\n", p);

getch();
return(0);

}



[此贴子已经被作者于2006-5-7 15:39:20编辑过]


After all,tomorrow is another day!!!!
2006-05-07 15:37
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#define N 10

int main(void)
{
int i = 1994;
char str [N];

itoa(i, str, 10);/*"产品"在str[]中*/

printf("%s\n", str);

getch();
return 0;
}


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-07 20:57
快速回复:itoa函数问题!
数据加载中...
 
   



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

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