何以为皇 发表于 2019-3-22 10:51:58

求解c语言问题


k=printf("ok\n");是怎么算的啊

jackz007 发表于 2019-3-22 11:04:08

本帖最后由 jackz007 于 2019-3-22 11:05 编辑

      printf() 返回输出的字符总数,在本例中,k = 3,所以,选 A 是正确的。

何以为皇 发表于 2019-3-22 11:15:44

jackz007 发表于 2019-3-22 11:04
printf() 返回输出的字符总数,在本例中,k = 3,所以,选 A 是正确的。

如果是这样k=scanf("%d",&a);k会有结果吗

sunrise085 发表于 2019-3-22 11:16:05

printf()函数的返回值是输出的字符个数,转义字符也算一个字符,所以这句中的返回值是3。
注意:返回值是输出字符的个数。假如printf("%d",num);其中num是整型int数字89,那么返回值是2,因为8和9是两个字符。

sunrise085 发表于 2019-3-22 11:18:10

何以为皇 发表于 2019-3-22 11:15
如果是这样k=scanf("%d",&a);k会有结果吗

scanf函数的返回值是正确读取到的变量个数。若你正常输入int类型数据,返回值为1,没有读取到正确格式,返回值为0

何以为皇 发表于 2019-3-22 11:18:45

scanf("%d",&a)这个函数有返回值吗,有的话是怎么算

sunrise085 发表于 2019-3-22 11:22:22

本帖最后由 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

何以为皇 发表于 2019-3-22 11:33:05

sunrise085 发表于 2019-3-22 11:22
给你一个小例子,自己看看。

情况1:


好哒,应该是明白了,我回去敲上去试试。多谢兄弟

何以为皇 发表于 2019-3-22 12:34:22

sunrise085 发表于 2019-3-22 11:22
给你一个小例子,自己看看。

情况1:


我试了一下,num是int型,我输入实型的数i的值都是1,输入字符或字符串I的值是0,然后不能没有输入,空格,tab健都不能输出,必须有输入。然后你的情况2的结果是0 0 enter4,不过差不多理解啦,多谢
页: [1]
查看完整版本: 求解c语言问题