#include <iostream>
using namespace std;
int main()
{
int a,b,n;
char c[100];
cout<<"insert number of adjective : " ;
cin>>a;
for(b=0;b<a;b++)
{
cin>>c;
int length = sizeof(c);
cout<<length<<endl;
cout<<c<<endl;
}
return 0;
}
请帮我找到尺寸lenght c
哈米德
答案 0 :(得分:3)
首先,从不(如在从不中)使用std::cin >> array;
而array
是char
数组(或一个指向这种arry开头的指针)除非首先设置了可以通过设置流width()
读取的最大数据量。任何教师向您展示如何使用std::cin >> array;
而不建议使用width()
,必须更正!
您可以,例如,使用
#include <cstring> // NOT <string>...
// ...
char c[100];
std::cin.width(sizeof(c));
if (std::cin >> c) {
std::size_t n = std::strlen(c);
// ...
}
将要读取的字符数限制为sizeof(c) - 1
(-1
存在,因为还会读取终止空字符)。成功阅读输入后(您还需要始终检查输入是否实际成功),您可以使用strlen(c)
来确定读取的字符数。
就个人而言,我在实际代码中将非常很少格式化的数据读入char
数组。我通常只是阅读一个std::string
,它使用起来更容易,更安全。我会考虑处理内置数组的输入是一个更高级的主题。
答案 1 :(得分:0)
你可以使用矢量
#include <vector> ...
int n;
cin >> n;
vector<int> vec(n);
...
int size_of_vector = vec.size();
...
答案 2 :(得分:-1)
#include <string>
using namespace std;
int main()
{
////////////////////input
int a,b,n,i;
char c[100];
cout<<"insert number of adjective : " ;
cin>>a;
for(b=0;b<a;b++)
{
cin>>c;
n = strlen(c) ;
cout<<n<<endl;
/////////////////////////processing
if(c[n]=='r')
{
cout<<"ok";
}
/////////////////////////output
cout<<c<<endl;
}
}
答案 3 :(得分:-3)
此地图有助于此。
/* strlen example */
#include <stdio.h>
#include <string.h>
int main ()
{
char szInput[256];
printf ("Enter a sentence: ");
gets (szInput);
printf ("The sentence entered is %u characters long.\n",(unsigned)strlen(szInput));
return 0;
}
答案 4 :(得分:-3)
#include <string>
int length = strlen(c); // insted of int length = sizeof(c);
strlen()
函数查找字符串的长度,但必须包含字符串库。