简单的去数组奇数下标字符,不知道这个为什么多一个0?大佬help
本帖最后由 爱学习520 于 2020-6-30 19:23 编辑为什么测试输入:abcdefgh正确;输入:abcdefg ,则有一个0?如黑色测试图片
此程序就是简单的把奇数的字符删除,最后输出该数组的偶数字符串
/*
* 将字符串中下标为奇数的字符删除 使用void new(char str [])剩余的字符形成新串
*/
#include<stdio.h>
//函数声明
void New(char str []); //去除奇数下标字符
void Strstoc(char str []); // 大写变小写
main()
{
char a;
printf("========================================\n");
//输入字符串
printf("请输入一个字符串:\n");
scanf("%s",a);
printf("========================================\n");
printf("原字符串为:%s\n",a);
New(a);
printf("========================================\n");
printf("现字符串为:%s\n",a);
}
//此处形参str[]并不被分配栈内存空间
//此处编译char str[]等价于char *str
void New(char str [])
{
int i,j;
for(i=0,j=0;str!='\0';i=i+2)
{
str=str;
str[++j]='\0';
}
}
输入:abcdefg 后面会有一个0,这是为什么啊
程序没看出问题来
我这里运行也没问题。。。
不知道什么原因。。 sunrise085 发表于 2020-6-30 20:18
程序没看出问题来
我这里运行也没问题。。。
不知道什么原因。。
你的有0吗 测试abcdefg 爱学习520 发表于 2020-6-30 20:28
你的有0吗 测试abcdefg
没有0 c.runoob.com 测试结果:========================================
请输入一个字符串:
========================================
原字符串为:abcdefg
========================================
现字符串为:aceg`@
页:
[1]