不成呐 发表于 2018-10-10 00:49:03

s1e8中待解决的问题

本帖最后由 不成呐 于 2018-10-10 08:41 编辑

C:\Users\Administrator\Desktop\firstc\s1e8\捕获2.PNG
(一)在操作动动手1的时候,我根据答案将int换为float声明变量后,就无法成功输入变量
按enter键只是换行,为什么呢
(二)char name的中括号里的256代表着它有256个字节,
那么一个汉字是代表几个字节呢

不成呐 发表于 2018-10-10 00:51:53

这是图片

claws0n 发表于 2018-10-10 14:00:35

scanf("%s %f %f", name, &height, &weight); //里面空格就好,不要放回车,然后 name 是数组,不要有 &
你要分开输入的话就分开

printf()
scanf()
printf()
scanf()
...

char name; 是指它有256个元素,不是字节,char 只有一个字节,中文的话要用 w_char 要用 unicode 编码了, ascii 支持不了

啊涂涂 发表于 2018-10-10 15:46:01

本帖最后由 啊涂涂 于 2018-10-10 15:49 编辑

不成呐 发表于 2018-10-10 00:51
这是图片

在sacnf中 “\n” 不是表示接受一个回车符,而是表示忽略所有的空白字符(包括回车,空格, tab)。所以想要结束输入就要输入任意一个非空白字符即可, 但是该字符仍然会停留在缓冲区中
关于中文占几个字符的问题,电脑之间不太一样,再往后你就会学到,我的电脑就是占用两个,小甲鱼的就是三个
而且你这种写法的话表达的意思也不那么准确正常来说应该是输入一个再出来下一个,一般没有这样输入的,而且scanf函数里面也不会用回车来分隔,直接用空格分一下就行了
页: [1]
查看完整版本: s1e8中待解决的问题