#include<stdio.h>
void main()
{
char ch[100];
int i;
i=0;
printf("请输入一个字符串\n");
scanf("%c",ch);
while(ch[i]!='\n')
{
printf("%c=%d",ch[i],ch[i]);
i++;
}
}
为什么不正确呢??
scanf("%c",ch);改为:
scanf("%c",&ch);
为什么while的条件是!=‘\0'不是\n'呢?
追答字符串的末尾结束标志是\0;
当你输入字符串“*******”,回车结束时,scanf()函数将所有的输入都当做字符读入,直到遇到空格或者回车时,认为字符串输入完了,于是在末尾加上结束标志\0,而空格和回车不读取,任然留在键盘缓冲区;