为什么用getline获取字符串时第一个字符被判断为'\0'

C++语言 码拜 8年前 (2016-06-07) 1164次浏览
题目是字符串最后一个单词长度,当没有单词时返回0,当有两个以上单词时可以正常判断,为什么只有一个单词的时候会把c[0]判断为”\0″进入上面的条件?
int length;
char c[1000] = { 0 };
int i = 0,l = 0;
cin >> c;
cin.getline(c, 1000);
if (c[i]==”\0″)
{
l = 1;
}
else {
while (c[i] != “\0”)
{
i = i + 1;
l = l + 1;
if ((int)c[i] == 32)
{
l = 0;
}
}
}
cout << (l-1);
return 0;
解决方案

40


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明为什么用getline获取字符串时第一个字符被判断为'\0'
喜欢 (0)
[1034331897@qq.com]
分享 (0)