C++问题
#include<iostream> #include<iomanip> #include<cmath> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int a; a=getchar(); getchar(); //滤过回车 int b; b=getchar(); putchar(a); putchar(b); putchar('\n'); cout<<a<<b<<endl; return 0; } 输出结果为: 0 0 00 4848 也就是说我输入的是 0 0 但是最后没有使用putchar()的输出为什么是48 和 48?
因为你定义的a和b的类型是整形数据,当你使用putchar进行输出时,编译器自动将a和b转换为char型数据,因此输出的是00 当你使用cout进行输出是,cout将a和b按照整形数据输出,'0'的整形数值是48 因此就会输出48 这是正确的,是因为数据类型的不同而输出的效果不同
#include #include using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int a; //存储整形数据 a=getchar(); //getchar函数获取第一个字符的ASCII码值存入a getchar(); //滤过回车 int b; //存储整形数据 b=getchar(); //getchar函数获取第二个字符的ASCII码值存入b putchar(a); //显示整数a所表示的ASCII码所对应的字符 putchar(b); //显示整数b所表示的ASCII码所对应的字符 putchar('\n'); cout<
答:缓冲区及清除缓冲区中的内容[转] getchar()是stdio.h中的库函数,它的作用是从stdin流中读入一个字符,也就是说,如果stdin有数据的话不用输...详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>