gpt4 book ai didi

c - 第一个条目被跳过

转载 作者:行者123 更新时间:2023-11-30 17:55:49 27 4
gpt4 key购买 nike

当我运行它时,它会跳过“输入名字”并直接进入“输入姓氏”。

示例:

输入名字:输入姓氏:弗兰克

我的名字是弗兰克

输入电话:

它不允许我输入名字。有什么想法吗?

if( (fp=fopen("contacts","w")) == NULL )
{
printf( "Failed to open file contacts to write.\n" );
exit( 1 );
}


printf("Enter first name: ");
fgets(first, sizeof(first), stdin);

first[strlen(first) - 1] = '\0';

printf("Enter last name: ");
fgets(last, sizeof(last), stdin);

last[strlen(last) - 1] = '\0';

strcpy(list.name, first);
strcat(list.name, " ");
strcat(list.name, last);

printf("The name is %s\n", list.name);

printf("Enter Phone:");
fgets( line, sizeof( line ), stdin );
sscanf( line, "%s",&list.ph);
printf("You entered: %s", &list.ph);


printf("Enter Address:");
fgets( line, sizeof( line ), stdin );
sscanf( line, "%s", list.add );


printf("Enter Email Address:");
fgets( line, sizeof( line ), stdin );
sscanf( line, "%s", list.email );


printf("\n");


fprintf( fp, "%s\t%s\t%s\t%s", list.name, &list.ph, list.add, list.email );
fclose(fp);

最佳答案

我怀疑您将“first”声明为 char 指针,如果您希望 sizeof 起作用,则必须将其声明为数组,否则您将获得指针的大小,无论它指向何处

char first[100]; 
printf("Enter first name: ");
fgets(first, sizeof(first), stdin);

免责声明:您没有显示任何变量的声明

关于c - 第一个条目被跳过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13942612/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com