C编程语言中的字符是固定大小的字节实体,专门设计为足以存储来自ASCII等编码的字符值.
但是与ASCII编码相关的整数值在多大程度上可以与char字符互换?有没有办法将'A'称为65(十进制)?
getchar()返回一个整数 - 可能这与这些值直接相关?另外,如果我没有弄错的话,在某些情况下可能会增加字符...这样(粗略地说)'?'+ 1 =='@'.
或者这种编码不能保证是ASCII?它完全取决于特定的环境吗?C中的这种操作是否不切实际或不可能?
编辑:相关:C比较char和int
我提出了我认为对于一个尴尬(尽管标准)问题的混乱解决方案:对于给定的用户输入,反转单词的字母
例如:
这是标准测试
变
sihT si a dradnats tset
并不是
tset dradnats a si sihT
事情的核心是这段代码
while (!iscntrl(user_input[x])) // quit when new line is read
{
restart:
x++;
puts("first level test");
if (user_input[x]==' ')
{
puts("second level test");
for (i=x; user_input[i]!=' '; --i)
{
reverse_words[k]=user_input[i];
k++;
puts("third level test");
goto restart;
}
}
}
Run Code Online (Sandbox Code Playgroud)
(是的,我知道,那里有一个goto:/)
但是循环的第三级永远不会被触及.
据推测,(i=x; user_input[i]!=' '; --i)作为for循环参数有一些完全错误的东西?
x,i和k,在第一个循环开始之前都被初始化为整数== 0.
谁能解释为什么
public class Testabut{
enum ThreeColors{RED, BLUE, green;
public void woowoo(){
System.out.println("woo");}
}
ThreeColors color;
class Innerclass{
Innerclass(){
color.woowoo();
}
}
Run Code Online (Sandbox Code Playgroud)
在调用woowoo()时生成一个空指针异常?颜色的实例应该可以到达,不是吗?
如果有人能够对此有所了解,我真的很感激,因为搜索引擎的结果到目前为止一直没有用.
我正在尝试通过Application Express为oracle数据库构建GUI.如何通过一个人使用的产品的图形用户界面设置下拉菜单(例如我知道如何在像Microsoft Access这样的产品中执行此操作).
例如,我有这种形式

Business的外键(FK_BUSINESS_ID)只是一个整数 - 不是非常用户友好!如果它可以是商家名称(BUSINESS.NAME)的下拉列表,那就太棒了.隐藏业务主键(BUSINESS_ID)会使其看起来更好,但并不完全相关.
我找到了相关元素的源代码控件.

可以使用哪种SQL(甚至是PL/SQL)来显示来自另一个表的这些数据,并在发送表单时返回用户选择的所选外键?
看到了一个详细介绍了简单课程的问题。该类具有基本(非静态)方法。它也有一个主要方法。
问的问题:此类是否具有类方法?
可以public static void main(String[] args){}算是一类方法吗?
我一直在假设,并且我确实相信我有经验,用Java原始数字初始化long或浮动本地原语将产生编译器错误.
例如
float f = 10;
long l = 5;
Run Code Online (Sandbox Code Playgroud)
并且正确的方法是写上面的内容
float f = 10f;
long l = 5l;
Run Code Online (Sandbox Code Playgroud)
然而,我现在发现编译器在没有f和l免责声明的情况下愉快地编译.我错过了什么吗?
使用代码
# the data we want to insert
$data = array($first_name, $last_name, $email_from, $telephone, $dateofbirth, $addresslone, $addressltwo, $townnm, $countynm, $typeapp, $issubscribed);
$STH = $dbh->prepare("INSERT INTO members (fname, sname, email, phone, dob, addressl1, addressl2, town, county, type, subscribed) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
$STH->execute($data);
?>
<!--<!DOCTYPE html>
<head><title></title></head><body> commented out during testing -->
Thank you for contacting us We will be in touch with you very soon.
<!-- </body></html> -->
Run Code Online (Sandbox Code Playgroud)
向用户显示成功消息:
感谢您与我们联系我们将尽快与您联系.
没有记录php错误.
这是插入此数据库 …
对于代码
int []arr = new int[4];
System.out.println(arr);
Run Code Online (Sandbox Code Playgroud)
输出看起来像
[I @ 54640b25
编译器究竟打印出来的是什么?arr的内存地址?与C不同,Java似乎没有将数组名称(单独)等同于数组的第一个位置.
相当简单的程序:
int main (void)
{
int i = 0, length=0;
char password[] = SECRET;
char guess[10];
for (i=0; i<3; i++){
printf( "Enter the password: " );
fgets (guess, 10, stdin );
length=strlen(guess);
guess[length]='\0';
if(strcmp( guess, password ) == 0 ){
printf("\aYou got it right!\n" );
return 0;
}
else printf("You wrote %s Incorrect guess\n\n", guess);
}
puts("Sorry, you're all out of guesses");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
即使在奇怪的情况下,我可以让程序说:"你猜对了'黑'.对不起,密码是'黑'"想到可能有一些隐藏字符,空白,垃圾信息或任何抛弃的问题字符串比较,但我似乎无法找到它是什么!
我们都知道你不能在 Java 中实例化一个接口(至少直接实例化)。
但是有这样的事情:
public class Test{
public interface Link {
void mySamplemethod();
String myString ="HELLO!";
}
public static void main(String []args){
Link b;
}
}
Run Code Online (Sandbox Code Playgroud)
b……究竟是什么,它怎么可能有实际用途?
好的,我知道在SO上已经有一些这样的问题; 但他们实际上并没有解决我的问题.
对于这个(简化的)html表单:
<!DOCTYPE html><html><head><title>test</title></head><body>
<form method="post" autocomplete="on" action="application6.php">
<p>
<input type="text" name="fullname" id="fullname" maxlength="50" size="30">
<label for="fullname">*Full Name</label>
</p>
<p>
<input type="text" name="email" id="email" maxlength="50" size="30">
</p>
<p>
<select name="hours" id="hours">
<option value="" disabled="disabled" selected="selected">*Hours</option>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我有以下代码
$error_array = array(
" "
);
echo ("debug: ");
print_r($_POST);
$variables = array(
'fullname',
'email',
'hours'
);
foreach ($variables as $variable_name) {
if (isset($_POST[$variable_name])) {
echo 'Variable: ' . $variable_name . ' is …Run Code Online (Sandbox Code Playgroud) 我想接受一个数字并返回两次参数值.虽然我希望它顺其自然
float timestwo(float num){num*2; 返回num;}
然而,plsql似乎需要一种更加模糊的方法.我以为我已经遵循了oracle 11g要求的方法,但是在尝试执行下面的代码时,
exec dbms_output.enable(1000000); --boilerplate
set serveroutput on --boilerplate
CREATE OR REPLACE FUNCTION timestwo (num
IN number)
RETURN number IS
product number(2) := 0;
BEGIN
product := (num*2);
RETURN product;
END;
/
EXECUTE timestwo(5);
show error --boilerplate
Run Code Online (Sandbox Code Playgroud)
dbms引发以下错误:
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00221: 'TIMESTWO' is not a procedure or is undefined
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
No errors
Run Code Online (Sandbox Code Playgroud)
很明显,函数声明是不正确的,但有人知道如何正确实现这个简单的代码吗?
java ×5
c ×3
oracle ×2
php ×2
arrays ×1
ascii ×1
char ×1
class-method ×1
compilation ×1
enums ×1
fgets ×1
for-loop ×1
forms ×1
function ×1
interface ×1
io ×1
isset ×1
mysql ×1
nested-loops ×1
oracle-apex ×1
plsql ×1
primitive ×1
sql ×1
sql-insert ×1
string ×1
validation ×1
variables ×1