我试图了解CS50提供的问题集中的一行代码。问题出在这里:
数字是否可以同时是字符串和整数?
如果数字既可以是字符串,也可以是整数,那么区分它的用途是什么?特别是在下面的代码行中。
#include <cs50.h>
#include <stdio.h>
int get_positive_int(string prompt);
int main(void)
{
int i = get_positive_int("Positive Integer: ");
printf("%i\n", i);
}
// Prompt user for positive integer
int get_positive_int (string prompt)
{
int n;
do
{
n = get_int("%s", prompt);
}
while (n <0 || n > 8);
return n;
}
答案 0 :(得分:0)
您的问题的答案为“否”。数字可以是几种C类型之一(例如import asyncio
from aiohttp import ClientSession
async def get_user(user_id):
async with ClientSession() as session:
print('calling')
async with session.get("http://httpbin.org/headers") as response:
print('getting response')
response = await response.read()
print(response)
loop = asyncio.get_event_loop()
tasks = []
users = [1,2,3,4] # a list of user ids
for user_id in users:
tasks.append(asyncio.ensure_future(get_user(user_id)))
loop.run_until_complete(asyncio.wait(tasks))
,int
,...),但只能是其中一种,而double
不是数字类型。
我不确定代码不清楚什么。
答案 1 :(得分:0)
“不!”变量不能具有多种数据类型。这可能是可行的,但仅对于表示上下文而言。例如:
String a= "1";
Int b=1;
1)我们可以同时打印两个变量,并且都将给我们相同的输出。
2)我们可以对第二个字符串进行计算,但是要对字符串进行计算,您可能需要将其转换为数字格式-int,double或float。
我看到了您的后续问题。我的第二点很清楚这两个功能之间的区别。您必须将字符串值传递给函数int get_positive_int(string prompt)
。但是对于int get_positive_int(int prompt)
,可能必须将一个整数值传递给此函数。这两个函数都将返回一个整数值。这取决于您在函数内部执行的操作。
对于函数int get_positive_integer(string prompt)
,您可以从用户那里获得一个字符串并将其转换为整数,然后返回该整数值。