【发布时间】:2015-01-14 22:05:38
【问题描述】:
我有一个大小为 7 的 char 数组,看起来像这样......
Sean
Sam
Smith
Dave
Daniel
(empty line)
(empty line)
我基本上想将我的char 数组大小读取为5 并丢弃空行空格。
这是我的代码,但它返回 7 而不是 5
int d=0;
for(int i=0; i<7; i++)
{
if(strcmp(line[i]," ") == 0) // THIS LINE IS NOT RECOGNIZING THE WHITESPACE EMPTY LINES
{
d--;
}
else
{
d++;
}
}
【问题讨论】:
-
你确定这两行是
" "吗? -
您的代码要求该行包含一个空格。如果它是 empty(即没有字符),则比较将失败。请记住空格和换行符是不同的字符。如果您希望字符串包含其中任何一个,则需要检查它们。
-
您显然没有大小为 7 的 char 数组,因为这些名称每个都比 1 个字符长得多。另外,为什么要标记
c++? -
如果它包含一个空格,那么它不是空的!试试看:
strcmp(line[i],""). -
恐怕也是,如果它识别出空字符串,它会返回 3,而不是 5...