关于printf函数的
//编写一个程序读取输入,读到#字符停止。程序要打印每个输入的字符以及对应的ASCII码(十进制)。一行打印8个字符。
#include <stdio.h>
int main(void)
{
char ch;
int n;
printf("Please enter some characters(enter # in the end):\n");
while((ch = getchar() != '#'))
{
n = ch;
printf("%c %d, ",ch,n);
if(ch % 8 == 0)
putchar('\n');
}
return 0;
}
为什么不能输出字母和ascii码? (ch = getchar() != '#')优先级问题 比较运算符 !=的优先级大于 赋值运算符=
你这一句相当于(ch = (getchar() != '#')) 先比较获取的符号是否等于'#',然后再赋值给ch,这样ch的值只有1和0,输出到屏幕上就显示不出来
修改成((ch = getchar()) != '#')就可以了 lumber2388779 发表于 2017-3-29 17:28
(ch = getchar() != '#')优先级问题 比较运算符 !=的优先级大于 赋值运算符=
你这一句相当于(ch = (getcha ...
谢谢!!!
页:
[1]