- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是链表上的一个程序,它打印给定的输入。但是是否可以在不使用 if(start==NULL) ...else ..
语句的情况下做到这一点?
#include <stdio.h>
#include <malloc.h>
struct node
{
int data;
struct node* next;
}* start = NULL;
void main()
{
struct node* tmp;
struct node *ptr, *tmp1;
int n = 0;
int choice = 2;
while (1)
{
printf("Enter a number less than 3 to continue");
scanf("%d", &choice);
if (choice >= 3)
break;
printf("Enter the input");
scanf("%d", &n);
// n=n+10;
if (start == NULL)
{
tmp = (struct node*)malloc(sizeof(struct node));
start = tmp;
start->data = n;
ptr = start;
}
else
{
tmp = (struct node*)malloc(sizeof(struct node));
ptr->next = tmp;
tmp->data = n;
ptr = tmp;
}
}
tmp->next = NULL;
printf("\nThe output of the linked list is\n");
n = 0;
ptr = start;
while (ptr != NULL)
{
printf("\n 1 ptr = %d", ptr->data);
ptr = ptr->next;
}
}
最佳答案
is it possible to do it Without using the if(start==NULL) ...else .. statement?
是
创建一个头节点并只使用它的 .next
成员。
#include <stdio.h>
#include <malloc.h>
struct node {
int data;
struct node* next;
};
int main(void) {
struct node head = {.next = NULL}; // only need .next
struct node *ptr = &head;
while (1) {
// ...
int n;
printf("Enter the input ");
fflush(stdout);
if (scanf("%d", &n) != 1) {
break;
}
ptr->next = malloc(sizeof *ptr->next);
if (ptr->next == NULL) {
break;
}
ptr = ptr->next;
ptr->data = n;
ptr->next = NULL;
}
printf("\nThe output of the linked list is\n");
ptr = head.next; // The start of the list is here
while (ptr) {
printf(" 1 ptr = %d\n", ptr->data);
ptr = ptr->next;
}
}
关于c - 本链表程序回顾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56325479/
这有点相关:Regular Expression - Formatting text in a block - IM而是一个不同的问题。 根据以下条件寻找 - 的换行文本: 条件: token 可以在
使用 Ruby,我想找到一个正确识别句子边界的正则表达式,我将其定义为以 [.!?] 结尾的任何字符串,除非这些标点符号存在于引号内,如 My friend said "John isn't here
有没有办法在 VBA 正则表达式中进行负面和正面回顾? 如果字符串以“A”开头,我想不匹配,所以我目前在模式的开头执行 ^A,然后删除 match(0) 的第一个字符。显然不是最好的方法! 我正在使用
我正在尝试使用模式替换一些字符串,但我不知道如何检查字符串之前是否有点。.some 应该是负数,some 应该是正数 var a = "some.string is replaced and .so
Random rand = new Random(); Observable random1 = Observable.just(rand.nextInt()); Observable random2
我希望有人可以检查我的正则表达式,以确保它正在执行我希望它执行的操作。 所以这就是我所追求的: 在单词边界内搜索单词 - 因此它可以是单独的单词,也可以是另一个单词中的单词 获取前面的 30 个字符(
我创建了以下触发器来跟踪 postgres 表上的所有更改。 DROP TRIGGER tr_request_update_notify ON requests; CREATE OR REPLACE
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 2年前关闭。 Improve this questi
这是我的代码: import com.google.gson.JsonElement; import com.rallydev.lookback.LookbackApi; import com.ral
我想创建类似 facebook lookback 的系统,但我不知道。 https://facebook.com/lookback/ 它通过一些带有一些效果的图片生成视频。 你有什么想法可以创造类似的
使用 meteor 1.5.2我安装了最新的 Lookback:meteor-seo 插件,但收到此错误 lookback_seo.js?hash=a658c0f8fd82680b329114c5e6
这里是 HelloGitHub 出品的年度盘点系列,本期我们将盘点 GitHub 在 2020 发生的大事件,回顾一下今年 GitHub 给我们带来了那些惊喜。故事的开始我们要回到一年前从 GitH
最近,我无法使用过去曾与我的帐户一起使用过的 Lookback API 的应用程序。查看控制台后,似乎在向服务器发出请求时出现错误 403。我有一些同事也尝试访问 API,但我们都收到了同样的错误。
gcc 4.4.4 c89 在使用结构体隐藏实现文件中的元素时,我总是这样做。 port.h头文件 struct port_tag; struct port_tag* open_ports(size_
我是一名优秀的程序员,十分优秀!