c语言学习日记1(AI助学)

  • scanf() 遇到格式化字符串中的 %s 时,它会开始读取输入字符串中的字符,直到遇到空格、制表符、换行符等空白字符或者遇到字符串结束符 \0。这意味着,如果用户输入了一个带有空格的字符串,scanf() 函数只会读取空格之前的部分作为字符串,而忽略空格之后的内容。fgets()可以确保读取整个输入行,而不仅仅是第一个空格之前的部分。
  • q = p;只是简单地将指针 p 的值赋给指针 q,使它们指向相同的内存地址。这样,qp 将指向同一个节点,它们在内存中是共享的。这意味着对于 qp 的修改都会影响到另一个指针所指向的节点。如果你在操作 q 时修改了节点的内容,那么 p 也会反映这些修改。而 *q = *p;则是将 p 指向的节点的值复制给 q 指向的节点。这样,qp 指向的是两个不同的节点,它们在内存中是独立的。对于 qp 的任何修改都不会影响到另一个指针所指向的节点。
  • 由于输入缓冲区中仍然留有一个换行符 \n,因此 scanf 将会读取这个字符而不是用户输入的 YN。为了解决这个问题,你可以scanf 格式字符串中添加一个空格,例如 scanf(" %c", &ch)。在这种情况下,scanf 将会跳过任何输入缓冲区中留下的空白字符,包括之前输入的换行符。
  • 数组名本身就代表了该数组的地址。因此,在scanf函数中使用字符数组作为参数时,不需要使用取地址符&来获取该数组的地址。
全部评论

相关推荐

SHC2:春招先狠狠投递,然后你看看能不能申请香港新加坡的一年制master,花不了多少钱,或者现在赶紧去刷一段实习。HR专业考研没必要
点赞 评论 收藏
分享
03-12 09:57
软件测试
程序员小白条:1)确定测试,测开的方向,技术栈不能写这么少 2)课程凑数的,不是99,100分没必要写 3)实习经历这块要有突出的不是劳动性质的亮点,自己设计的什么方案,什么自动化?什么提效工具?不是一些边角料,人云亦云的东西,没吸引力 4) 校园经历纯没用 5)尽量少写减分项
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务