求解c语言问题
k=printf("ok\n");是怎么算的啊 本帖最后由 jackz007 于 2019-3-22 11:05 编辑
printf() 返回输出的字符总数,在本例中,k = 3,所以,选 A 是正确的。 jackz007 发表于 2019-3-22 11:04
printf() 返回输出的字符总数,在本例中,k = 3,所以,选 A 是正确的。
如果是这样k=scanf("%d",&a);k会有结果吗 printf()函数的返回值是输出的字符个数,转义字符也算一个字符,所以这句中的返回值是3。
注意:返回值是输出字符的个数。假如printf("%d",num);其中num是整型int数字89,那么返回值是2,因为8和9是两个字符。 何以为皇 发表于 2019-3-22 11:15
如果是这样k=scanf("%d",&a);k会有结果吗
scanf函数的返回值是正确读取到的变量个数。若你正常输入int类型数据,返回值为1,没有读取到正确格式,返回值为0 scanf("%d",&a)这个函数有返回值吗,有的话是怎么算 本帖最后由 sunrise085 于 2019-3-22 11:28 编辑
何以为皇 发表于 2019-3-22 11:18
scanf("%d",&a)这个函数有返回值吗,有的话是怎么算
给你一个小例子,自己看看。#include <stdio.h>
int main()
{
int num,i,j;
i=scanf("%d",&num);
j=printf("%d %d\n",num,i);
printf("%d\n",j);
return 0;
}
情况1:
输入:123
输出结果:
123 1
6
情况2:
输入:aa
输出结果:
0
2
情况3:
输入:(没有任何输入)
输出结果:
-1
3 sunrise085 发表于 2019-3-22 11:22
给你一个小例子,自己看看。
情况1:
好哒,应该是明白了,我回去敲上去试试。多谢兄弟 sunrise085 发表于 2019-3-22 11:22
给你一个小例子,自己看看。
情况1:
我试了一下,num是int型,我输入实型的数i的值都是1,输入字符或字符串I的值是0,然后不能没有输入,空格,tab健都不能输出,必须有输入。然后你的情况2的结果是0 0 enter4,不过差不多理解啦,多谢
页:
[1]