当前位置:编程学习 > C/C++ >>

c语言程序题目

#include<stdio.h>
main()
{char s[]="012xy\08s34f4w2";
int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>='0'&&s[i]<='9') n++
printf("%d\n",n);
}
输出结果是?
还有 字符数组中的字符串是什么意思
追问:xy代表什么意思
答案:
#include <stdio.h>
#include <string.h>


void main()
{
char s[]="012xy\08s34f4w2";
int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>='0'&&s[i]<='9')
{
n++;
printf("%d\n",n);
}
}//输出1 2 3
===========================
for(i=0;s[i]!=0;i++)//数组0就被排除掉了,因为它==0
字符串就是:"012xy\08s34f4w2";//引号里边的
\0表示一个以8进制的数,转换过来后就等于0了...所以你的循环满足条件的只到这里程这,后边的跳出循环
if(s[i]>='0'&&s[i]<='9')//判断数字,也只有0,1,2三个符合if的要求

输出结果是3

char s[]="012xy\08s34f4w2";//遇到\0就结束了,只有0,1,2这三个数字字符
int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>='0'&&s[i]<='9') n++
printf("%d\n",n);

 

LZ有个重要的一点没有弄明白:我们一般在对字符进行比较时,是比的它的ASCII码。这里的'0'其实就是一个字符(ASCII码好像是48吧)
还有就是对转意字符弄明白,这个题就自然出来了。
结果我就不说了。
纠正一下,N++后面少了;

上一个:c语言动画制作
下一个:怎样学好C语言!!!

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,