
正文
c语言how函数的用法 c语言htonl函数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
这个c语言片段,为什么我的结果是how are you 答案却是how
scanf
("%s",
a)这里的输入格式是%s,他在遇到空白字符如空格就停止读入了,所以保存在a中的数据为How
若要获得一行的数据,需要使用gets函数,如gets(a),这样即可获得空格
相关问答
Q1: c语言 由键盘输入一个句子将其中的大写变成小写,输出变换后的句子。如输入How ?回车然后输出how?
应该把第二个while()循环改为if()判断语句。还有,变量i没有初始化,应该初始化为0。while()循环中每次应将i的值自加1。最后将数组a的最后一个元素置为空'\0'。表示字符串结束。把源程序复制在下面了。
#include stdio.h
#include stdlib.h
int main()
{
int i=0;
char a[80];
while((a[i]=getchar())!='\n')
{
if(a[i]='A' a[i]='Z')
{
a[i]=a[i]+32;
}
i++;
}
a[i]='\0';
printf("the result is %s\n",a);
return 0;
}
运行结果如下,可以自己跑一下程序,就看到结果了。
Q2: 在以下c语言程序中,两次的输入都为how are you?为什么第二次输出时会是are you? how
这是因为:
#include"stdio.h"
void main()
{
char str[13];
char str1[5],str2[5],str3[5];
scanf("%s",str); /*输入how are you? 实际只读了how到str中*/
printf("%s",str); /*输出how */
scanf("%s%s%s",str1,str2,str3); /*又输入how are you? 实际只读了how到str中*/
/*实际读are到str1,you?到str2(上次未读完的内容),how到str3中,仍有are you?未读完 */
printf("%s %s %s",str1,str2,str3); /* 于是就有亲说的情况 */
}
如要解决此问题,不删除原有语句,在第二次scanf之前加入清除输入缓冲区的语句fflush(stdin);也可使程序恢复正常。
Q3: C语言 strcmp("how","How")的值是什么
strcmp函数原型:extern int strcmp(const char *s1,const char * s2);
比较两个字符串。若str1==str2,则返回零;若str1str2,则返回正数;若str1str2,则返回负数。
因为‘h’的ASCII码值为104,而‘H’的ASCII码值为72,即“how” "How",所以返回值为正数。
c语言how函数的用法的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言htonl函数、c语言how函数的用法的信息别忘了在本站进行查找喔。







