为您找到"
char str[20] scanf("%s",str); 如果输入"How are you?回车" printf...
"相关结果约100,000,000个
输入一个整数,并将这个整数放到数组a的第i个地址上去,简言之就是输入数组a的第i个值
如果是的话,那么就是你输入a的值的时候,后面敲得那个回车被程序当做b的值给读入了(因为b是char,所以记录了回车的ACSII码值)你可以这么改:include <stdio.h> include <stdlib.h> void main(){ int a,c;char b;scanf("%d %c %d",&a,&b,&c); //注意这里的%d %c %d之间有空格,...
printf("%s",a[0].c_str());c_str()是string的成员函数。问题在于 string b;scanf("%s",b);你可以用 cin>>b;或者 char s[128];scanf("%s",s);b = string(s);string 本来就是C++语言中的,所以转成C的输入输出修要些特殊处理,不过这样做总感觉不伦不类的。
malloc函数,在堆中分配一片内存,内存大小为传递参数,sizeof(char)*20就是20个字节。返回值为void *类型,使用(char*)强制转换,使得类型匹配。q=p后,q和p指向的是同一片内存空间。scanf("%s%s",p,q);因为p,q指向同一片内存空间,先输入ijk放入p,其实*p和*q都是ijk。后面输入xyz放入q,...
要这样:char c【100】注:框框里的可以改变,主要是看你要输入多少个字符 或者这样 scanf(“%c”,c);就说明只输入一个,本人比较喜欢前者,这是个好习惯。
因这p是一个char *指针 ,并没有分配 给它空间,所能输入会出错,如果你这样 char *p = (char*)malloc(100); scanf("%s",p);这样就没问题了 或者 char p[100]; scanf("%s",p);
结果肯定是1哈~原因:scanf("%c",&a)表示的是输入一个字符,注意是一个字符,剩下的字符会忽略掉。此时a的值是1,因此输出此时a的值就是1,因为字符中的1表示1,在Unicode编码中65开始是字符a,依次类推~~~
输入 1b=2 然后回车 注意中间不要有多余的空格
这个错误信息说的很明确呀,你的scanf_s的调用还缺少一个参数(没有传递足够的参数)。scanf_s是scanf的安全版本,需要第三个表示数组长度的参数,所以正确的调用应该是:scanf_s("%s", a, 100);
应该输入12A45回车(如图)include<stdio.h> int main (){ int a,b;char c;scanf("%d%c%d",&a,&c,&b);printf ("a=%d\nb=%d\nc=%c\n",a,b,c);return 0;}