关于字符串的问题

吕小果 2013-10-21 10:15:34
我做了个题,有个数字字符串含有,号,我想把这个,去掉,然后输出数字,所以做了个小程序,

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

int main()
{char a[100],b[100];
int i,k,n;
scanf("%s",a);
n=strlen(a);
for(i=0;i<n;i++)
{if(a[i]!=',')
{b[i]=a[i];}
}
printf("%s\n",b);}
可是当我运行的时候,比喻我输入 1,111 可是输出的是, 我问一下为什么不是1111呢,谢谢,
一个编程新手
...全文
160 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
吕小果 2013-10-22
  • 打赏
  • 举报
回复
谢谢啦,我试试
自信男孩 2013-10-21
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<string.h>

int main(void)
{
	char a[100], b[100];
	int i, k, n;
	scanf("%s", a);
	n = strlen(a);
	for(i = 0; i < n; i++)
	{
		if (a[i] != ',')
		{
			b[i] = a[i];
		}
	}
	b[i] = 0;    //这儿需要加上字符串结束标识符哦
	printf("%s\n", b);    //这儿应该就是去掉","之后的字符串哦
}
  • 打赏
  • 举报
回复
for(i=0,j=0;i<n;i++) {if(a[i]!=',') {b[j]=a[i]; j++; } }
mujiok2003 2013-10-21
  • 打赏
  • 举报
回复
b没有初始化,所有b[1]可能0
 
 //输入"1,111"
 for(i=0;i<n;i++)
 {if(a[i]!=',')
 {
   b[i]=a[i];
 }
 //else ??
 
 
mujiok2003 2013-10-21
  • 打赏
  • 举报
回复
#include<string.h>
#include<stdio.h>

int main()
{

char a[100],b[100],*p;
p = b;
int i,n;
scanf("%99s",a);
n=strlen(a);
for(i=0;i<n;i++)
 {
   if(a[i] != ',')
   {
     *p++ = a[i];
   }
 }
 *p = 0;

 printf("%s\n",b);
 return 0;
}
mujiok2003 2013-10-21
  • 打赏
  • 举报
回复
#include<string.h>
#include<stdio.h>

int main()
{

char a[100],b[100],*p;
p = b;
int i;
scanf("%99s",a);
n=strlen(a);
for(i=0;i<n;i++)
 {
   if(a[i] != ',')
   {
     *p++ = a[i];
   }
 }
 *p = 0;

 printf("%s\n",b);
 return 0;
}
格式化,缩进

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧