c语言 关于字符

来源:百度知道 编辑:UC知道 时间:2024/05/29 17:02:56
printf("1--书名\t\t2--作者\t\t3--数量\t\t4---简介\t\t5---单价\n");
scanf("%c",&g);

if(g=1)
{printf("输入修改后的书名\n");
scanf("%c",&books[y].name);
}

后面还有好几个else if 的条件句,g已经定义字符型了,可是if后面的条件该怎么写,是‘g’=‘1’?‘g’=1?g=1?还是别的什么,怎么试了试都不对呢,我刚学c很多不懂的东西,希望好心人帮忙~

写g=='1' 恒等于

"="是赋值号,g=1表示将1赋予变量g
"=="才是等号

应该是g==‘1’,因为字符常量是用单引号括起来的,你读取的是字符,所以要用字符来比较。
第二个错误是=是赋值操作符,而不是判断等于的操作符。这个是c语言的基本只是,建议你多看看书多练习。

应为g=='1',1加上' '表示1是字符。一个=在C语言中是赋值运算符,而两个=才表示判断。