第一个scanf读入字符串后,换行符留在输入缓冲区中,被第二个scanf读入(scanf的格式字符串为%c时会读取一切字符包括换行和回车),因而造成错误。可在第一个scanf结束后加入一行while(getchar()!='\n');清空输入缓冲区。
scanf("%c",&a [ i ]);//得加 ,a[i]表示a数组的第i个元素,&a[i]就是取数组a的第i个元素的地址所以得加
因为字符串变量名在 scanf 语句里 表示指针 (地址)例如:char s[80];scanf("%s",s); --- 这里的s 已是地址。当然,写成 scanf("%s",&s[0] ); 也可以, &s[0] 是地址。
int main(void){ char s[100];scanf("%s", s);printf("%s", s);} 自动就加上了,不用担心
1 C语言的字符串为数组形式,而数组的名称可以表示其地址,故对字符串输入不需要加地址符。而单独的字符、整型变量等的名称不能直接表示地址,故需要加地址符。数据类型字符串数据类型是建模在形式字符串的想法上的数据类型。字符串是几乎在所有编程语言中可以实现的非常重要和有用的数据类型。在某些语言中它们可作为...
C语言中 用scanf函数输入字符串数组,取地址符&是不用输的,如... C语言的字符串为数组形式,而数组的名称可以表示纳慧其地址,故对字符串输入不需要加... 所以在c前面不能再加取地址符&穗茄碰。字... c语言用scanf输入字符串时,字符串之间为什么可以用空格分隔... 空格本身就是字符,scanf对所有输入都认为是...
scanf 在缓冲区遗留了一个换行符 被gets接受 在scanf语句之后加一个 fflush(stdin);清除缓冲区就好了
用scanf输入字符串时会自动在末尾加\0。A.正确B.错误的答案是什么.用刷刷题APP,拍照搜索答疑.刷刷题(shuashuati.com)是专业的大学职业搜题找答案,刷题练习的工具.一键将文档转化为在线题库手机刷题,以提高学习效率,是学习的生产力工具
scanf()允许指定输入字符串长度等格式。上面的程序如果输入"liujiajia liujiajia",程序将输出"name1:liuji name2:liujia"; 字符串输出: puts() char str[15]="hello world"; const char *str2="HELLO WORLD"; puts(str); puts(str2); puts(&str[5]); ...
1:代码如下: // 2.5.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" int main() { long iLong; /*长整型变量*/ short iShort; /*短整型变量*/ int iNumber1=1; /*整型变量