为您找到"
大家给我解释下;谢谢!!! char *s;scanf("%s",s); 是哪里出错,
"相关结果约100,000,000个
{ p=(LinkList)malloc(sizeof(LNode));为要插入的节点申请空间。空间大小为sizeof(LNode)。scanf("%c",&(p->data));输入节点的数据值。p->next=(*L)->next;让该节点指向第一个数据节点。next等于第一个数据节点。(*L)->next=p;真正插入:让表头节点的next等于这个节点。} ...
scanf是输入参数,%d是输入参数的格式(%d十进制)&x是指将输入的参数存在变量x中,x%2是指变量x除以2的余数,==0是指x除以2的余数是0,或者说变量x是偶数。楼主。。。挺辛苦的。。看着办。。。
思路:因为字符串都是以'\0'作为结束标志,所以可以从字符串的第一个位置开始遍历,直到出现'\0'停止遍历,并每次下标后移,字符串的长度加1,最后返回字符串长度。参考代码:include "stdio.h" int strlen(char *s){//求字符串长度函数 int n;for(n=0;s[n]!='\0';n++);return n;} ...
s[j++]=a[i];//s[i] 有误,这里的i是跳动的,即i=num%n,所以用j来实现 } for(i=j-1;i>=0;i--)printf("%c",s[i]);//不能把return放在循环里面,一个函数只能返回一个值,所以直接在这里打印,或者用指针 } main(){ int num,n;char shu;printf("Please Inputn:\n");sc...
放不下'\0'了。如果大小为6,会自动在后面补'\0'B选项与A一样,放不下'\0'C选项,楼主要知道,字符串读入进来是要存起来的,而s只是个指针,存不下这么多字符。必须是char s[6];scanf("%s",s);puts(s);D选项是正确的,"ABCDE"作为静态常量存储于程序段,地址赋给s,可以正常输出。
s 带星号的都是跳过输入。以%s方式读入一个字符串,但是不赋值给任何变量。等效于 你创建一个足够大的字符数组s[1000];然后 scanf("%s",s);之后s的值不使用。s简化了这个过程 提高效率。
scanf是有返回值(int)的,如果成功得到一个分数,就返回1,如果输入字母就返回0.。。。给你举个例子:scanf("%d%d%d", &a,&b,&c);如果你输入:3 4 b 则只有a,b得到了值,scanf就返回2,,如果三个都得到了正确的值,则返回3
取决于在scanf中使用还是在printf中使用。在scanf中使用,则添加了*的部分会被忽略,不会被参数获取。例如:int a,b;char b[10];scanf("%d%*s",&a,b);输入为:12 abc那么12将会读取到变量a中,但是后面的abc将在读取之后抛弃,不赋予任何变量(例如这里的字符数组b)在printf中使用,表示用后面...
scanf("%*c%*[^\n]");这条语句中%*c表示, 读入一个字符,但是这个字符不保存到变量里,所以后面不需要有对应的char型的参数。%*[^\n]表示读入一个字符串,字符串里的字符只能是由[]里指定的字符,并且这个字符串也不保存。假如是%*[abcd], 只能输入abcd所组成的字符串,如aabbddcc,如果...
在进行了scanf("%d",&max);后,scanf函数将max赋值为第一个输入的数,然后进入for循环体,执行scanf("%d",&data);,将下一个输入的数赋给data。(另外:你说的“数组”只是指输入的数字的个数,不是C语言里面的数组)如果解释得不清楚希望你能提出来。希望能帮助到你!