由于 C 中的这些常量空值,我需要帮助
i need help because of these constant nulls in C
这是我的代码,我一直从中得到常量空值,所以我确实需要帮助
#include<stdio.h>
#include<string.h>
int main () {
char jojo[100];
printf("name: ");
scanf("[^\n]*c", &jojo);
printf("Happy Birthday to %s.\n");
printf("\n");
return 0;
}
你可能想要这个:
#include<stdio.h>
#include<string.h>
int main() {
char jojo[100];
printf("name: ");
scanf("%s", jojo); // use the %s format specifier
// and remove the &
printf("Happy Birthday to %s.\n", jojo); // you forgot 'jojo' as second
// argument to printf
printf("\n");
return 0;
}
在评论中说明。
对于 scanf 调用中的初学者
scanf("[^\n]*c", &jojo);
您不得使用指向字符数组的指针。您还需要在转换说明符之前使用符号 '%'
。
改为
scanf("%[^\n]%*c", jojo);
在 printf
的调用中,您忘记指定表示数组的参数。
printf("Happy Birthday to %s.\n");
写
printf("Happy Birthday to %s.\n", jojo);
这是一个演示程序。
#include <stdio.h>
int main(void)
{
char jojo[100];
printf( "name: " );
scanf("%99[^\n]%*c", jojo );
printf( "Happy Birthday to %s.\n", jojo );
return 0;
}
程序输出可能看起来像
name: programmer Vaustin
Happy Birthday to programmer Vaustin
这是我的代码,我一直从中得到常量空值,所以我确实需要帮助
#include<stdio.h>
#include<string.h>
int main () {
char jojo[100];
printf("name: ");
scanf("[^\n]*c", &jojo);
printf("Happy Birthday to %s.\n");
printf("\n");
return 0;
}
你可能想要这个:
#include<stdio.h>
#include<string.h>
int main() {
char jojo[100];
printf("name: ");
scanf("%s", jojo); // use the %s format specifier
// and remove the &
printf("Happy Birthday to %s.\n", jojo); // you forgot 'jojo' as second
// argument to printf
printf("\n");
return 0;
}
在评论中说明。
对于 scanf 调用中的初学者
scanf("[^\n]*c", &jojo);
您不得使用指向字符数组的指针。您还需要在转换说明符之前使用符号 '%'
。
改为
scanf("%[^\n]%*c", jojo);
在 printf
的调用中,您忘记指定表示数组的参数。
printf("Happy Birthday to %s.\n");
写
printf("Happy Birthday to %s.\n", jojo);
这是一个演示程序。
#include <stdio.h>
int main(void)
{
char jojo[100];
printf( "name: " );
scanf("%99[^\n]%*c", jojo );
printf( "Happy Birthday to %s.\n", jojo );
return 0;
}
程序输出可能看起来像
name: programmer Vaustin
Happy Birthday to programmer Vaustin