C语言问题,求大神帮助!谢谢!
以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。例如,输入字符串:abc123edf456gh,执行程序后输出:123456。请填空。#incl...
以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。例如,输入字符串:abc123edf456gh,执行程序后输出:123456。请填空。
#include
#include
main()
{ char s[80], d[80]; int i,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if( ___________________________ ) { d[j]=s[i]; j++; }
d[j]='\0';
puts(d);
} 展开
#include
#include
main()
{ char s[80], d[80]; int i,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if( ___________________________ ) { d[j]=s[i]; j++; }
d[j]='\0';
puts(d);
} 展开
2个回答
展开全部
答案:s[i]>='0'&&s[i]<='9'
程序目的是纯化字符串,依次提取判断s数组中的字符,如果是数字(这就是if括号内容了),那么就存入d数组。0和9要加单引号,是调用ASCII码,因为s数组的类型是char。如果是int可以直接写数字不加引号。
最后for循环完了,就是s里面所有字符全部遍历完了,退出for循环,d数组里面也不会再有存入了,对d进行“封口”,就是d[j]='\0';
最后puts输出d。
程序目的是纯化字符串,依次提取判断s数组中的字符,如果是数字(这就是if括号内容了),那么就存入d数组。0和9要加单引号,是调用ASCII码,因为s数组的类型是char。如果是int可以直接写数字不加引号。
最后for循环完了,就是s里面所有字符全部遍历完了,退出for循环,d数组里面也不会再有存入了,对d进行“封口”,就是d[j]='\0';
最后puts输出d。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询