C语言 puts(puts("TOM")) 为什么是错的?
答案:5 悬赏:10 手机版
解决时间 2021-02-07 10:29
- 提问者网友:疯子也有疯子的情调
- 2021-02-07 04:20
这是书上的一道题, 我想问的是为什么puts(“TOM”)返回一个整数。
最佳答案
- 五星知识达人网友:西岸风
- 2021-02-07 05:41
int puts(char *string)
里面的puts("Tom")返回一个整数
puts一个整数自然是错的
==============================
puts为什么会返回一个整数?!因为它就是这样被定义的,如果问为什么这样定义,找ANSI组织去
里面的puts("Tom")返回一个整数
puts一个整数自然是错的
==============================
puts为什么会返回一个整数?!因为它就是这样被定义的,如果问为什么这样定义,找ANSI组织去
全部回答
- 1楼网友:话散在刀尖上
- 2021-02-07 10:13
puts(puts("TOM"));编译的时候有两个警告,但仍然能够运行并输出字符串TOM。但我不知道你是想输出字符串TOM,还是想输出字符串puts("TOM"),如果是后者,应该写puts("puts("TOM")");如果是前者直接写puts("TOM");就行了。
另外我想说明的是puts函数的一般形式是puts(字符数组),括号里面应该写字符数组名,如puts(str);或者字符型指针,如puts(*p);(前面已经定义char *p;)。你写的语句中pus("TOM")并不是二者之一,所以会有警告,至于为什么仍然能够运行,我也不太清楚。
当然也有可能是其它问题引起的错误,例如句末没有分号,软件有问题等。希望我的回答对你有帮助。
- 2楼网友:动情书生
- 2021-02-07 09:47
你的小括号是在中文状态下输入的,要改下英文状态输入puts(puts("TOM"));通过编译了,没问题
- 3楼网友:孤老序
- 2021-02-07 08:08
puts()里一定要是字符串,很名字,你这里的puts("TOM")不是字符串,所以出错。
如果你想输出puts("TOM")这一串字符串的话,格式应该是这样
puts("puts("TOM")").
如果你只是想输出TOM,格式应该是
puts("TOM")
- 4楼网友:北方的南先生
- 2021-02-07 06:44
左边的括号错了,敲成中文字符了。
恩?到底是执行puts(puts("tom"))还是执行puts("tom")
这函数,执行成功了返回一个非负数,失败返回eof也就是-1
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯