c语言enter键不输出换行符\n
我输入一串字符然后回车,然后程序就输出了我刚才输出的哪一段字符,并且在前面加入行数1但是当我输入第二行字符时并回车,却没有行数出现了,这说明ch没有接受到\n,导致at_...
我输入一串字符 然后回车,然后程序就输出了我刚才输出的哪一段字符,并且在前面加入行数1
但是当我输入第二行字符时并回车,却没有行数出现了,这说明ch没有接受到\n,导致at_begin==0
当我什么也不输入 直接输入一个回车时 程序也会打印一个回车,相当于是我这个回车往下换行了两行
这是什么情况,为什么ch捕捉不到\n符号呢?我的在vs2013上运行。这是c和指针这本书上的练习 同时也是答案
#include<stdio.h>
int main(){
int ch;
int at_begin=1, line=0;
while ((ch = getchar()) != EOF){
if (at_begin == 1){
at_begin = 0;
line++;
printf("%d ", line);
}
putchar(ch);
if (ch == "\n")
at_begin = 1;
}
return 0;
} 展开
但是当我输入第二行字符时并回车,却没有行数出现了,这说明ch没有接受到\n,导致at_begin==0
当我什么也不输入 直接输入一个回车时 程序也会打印一个回车,相当于是我这个回车往下换行了两行
这是什么情况,为什么ch捕捉不到\n符号呢?我的在vs2013上运行。这是c和指针这本书上的练习 同时也是答案
#include<stdio.h>
int main(){
int ch;
int at_begin=1, line=0;
while ((ch = getchar()) != EOF){
if (at_begin == 1){
at_begin = 0;
line++;
printf("%d ", line);
}
putchar(ch);
if (ch == "\n")
at_begin = 1;
}
return 0;
} 展开
4个回答
展开全部
不要用
ch == "\n";
这个是字符串的写法
要比较换行 需要
ch == '\n';
ch == "\n";
这个是字符串的写法
要比较换行 需要
ch == '\n';
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main(){
int ch;
int at_begin=1, line=0;
while ((ch = getchar()) != EOF){
if (at_begin == 1){
at_begin = 0;
line++;
printf("%d ", line);
}
putchar(ch);
if (ch == "\n") //你这个是拿int和字符串比较,怎么相等??
at_begin = 1;
}
return 0;
}
int main(){
int ch;
int at_begin=1, line=0;
while ((ch = getchar()) != EOF){
if (at_begin == 1){
at_begin = 0;
line++;
printf("%d ", line);
}
putchar(ch);
if (ch == "\n") //你这个是拿int和字符串比较,怎么相等??
at_begin = 1;
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
"\n"和'\n'是不一样的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询