
将字符串ASCII码为奇数字符删除,我们何不换种思维,将偶数 提取出来,组成数组
#include <stdio.h>
#include <string.h>
void fun(char *s, char t[])
{
int i,j=0;
int n;
n = strlen(s);
for (i = 0; i < n; i++)
{
if (s[i] % 2 == 0)
{
t[j] = s[i];
j++;
}
}
t[j] = '\0';
}
void main()
{
char s[100], t[100];void NONO ();
printf("\nPlease enter string S:"); scanf("%s", s);
fun(s, t);
printf("\nThe result is: %s\n", t);
NONO();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
char s[100], t[100] ;
FILE *rf, *wf ;
int i ;
rf = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%s", s) ;
fun(s, t) ;
fprintf(wf, "%s\n", t) ;
}
fclose(rf) ;
fclose(wf) ;
}
这里我们主要看fun函数 void nono 我在别的文章有总结
void fun(char *s, char t[])
{
int i,j=0;
int n;
n = strlen(s);
for (i = 0; i < n; i++)
{
if (s[i] % 2 == 0)
{
t[j] = s[i];
j++;
}
}
t[j] = '\0';
}
运行结果

这里唯一要注意的是
最后的 t[j] = '\0';
没有这步 的运行结果

没有最后结束符
会很糟糕
该博客介绍如何使用C语言删除字符串中ASCII码为奇数的字符,通过提取偶数ASCII码字符组成新数组。重点在于void nono函数的实现,并强调了处理字符串结束符的重要性。

879

被折叠的 条评论
为什么被折叠?



