"这是我的准则"
#include <stdio.h>
void main() {
int opt, element;
char name[10][10] = {"Hytrogen","oxygen","Mercury"};
printf("WELCOME TO PERIODIC TABLE IMPLEMENTATION USING C LANGUAGE \n");
printf("Please enter the atomic number of any element to view its details\n");
scanf("%d", &opt);
printf("\nThe entered option is %d", opt);
element = opt+1;
printf("\nAtomic numbere is : %d", element);
printf("\nName of the element is : ");
printf(name[element]);
}
我得到的输出
WELCOME TO PERIODIC TABLE IMPLEMENTATION USING C LANGUAGE
Please enter the atomic number of any element to view its details
2
The entered option is 2
Atomic numbere is : 3
Name of the element is :
为什么元素名不在最后一行Name of the element is :
??
我试了一个在线编译器
2条答案
按热度按时间cu6pst1q1#
@dbush已经回答了为什么它不工作(数组索引从0开始)。这里是一种正确的方法。
您应该添加检查以验证用户输入。NTUI(Never Trust User Input)。
正如@dbush所说,在将代码发布到SO之前,对代码给予一点清理(格式化,删除不必要的字符,使用好的变量名,修复语法错误/拼写错误......)。以此为生的人看到写得很糟糕的代码时会讨厌它。
快乐的编码,并继续学习...)
wko9yo5t2#
数组的索引从
0
开始。索引
0
、1
和2
处的name
数组的内容-你应该从用户输入中减去
1
,而不是将1
添加到用户输入中,因为你将元素的原子序数作为用户的输入:如果用户在
1
处输入,则程序应显示Hydrogen
,它存在于name
数组的索引0
处,对于输入2
,程序应显示oxygen
,它存在于name
数组的索引1
处,依此类推。另外,使用
void
作为main()
函数的返回类型不符合标准。main()
函数的返回类型应该是int
。