代码如下——
#include<iostream>
#include<string>//***********************************
using namespace std;
//提示用户输入一个整数,然后输出由空格分隔的数字的以及数字的和
int main()
{
int sum = 0;
char number[]="";
cout << "输入数字:";
cin >> number;
int len = strlen(number);//*****************************
for (int i = 0; i < len; i++)
{
cout << number[i] << " ";
sum += number[i] - '0';//**********************************
}
cout << "数字总和为:" << sum << endl;
system("pause");
return 0;
}
sizeof()与strlen()的区别——
sizeof():
(1)sizeof是运算符,它的类型可以是类型,类型又包括整形、字符型、浮点型,结构体类型等,计算的是分配空间的实际字节数。
(2)sizeof在编译时就计算出类型实际所占的字节数大小
(3)sizeof不能计算动态分配空间的大小
strlen():
(1)strlen()是库函数,它计算的是字符串(char*)的字符个数,要引头文件 #include<string>.
(2)strlen()计算的是 '\0'前面的字符个数,而不包括'\0'.
(3)strlen与sizeof的区别,在计算字符串个数时,strlen以'\0'为结束标志,而sizeof则是你有多少个字符就计算多少个字符.